IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ada Discussion :

Makefile pour bibliothèque graphique


Sujet :

Ada

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 37
    Points : 28
    Points
    28
    Par défaut Makefile pour bibliothèque graphique
    Bonjour
    J'ai un makefile pour une bibliothèque graphique Ada que j'ai pris sur le net
    et quand je tape make il me met une erreur :
    make: *** No rule to make target `graphc.c', needed by `graphc.o'. Stop.
    Etant débutant dans les makefiles, je comprend pas trop ce qu'il veut...
    voici le makefile en question...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    DESTDIR=$(HOME)DESTINC=$(DESTDIR)/include
    DESTLIB=$(DESTDIR)/lib
     
    LIB=-lX11
    CC=gcc -c $(FLAGS)
     
    LDARGS=-largs graphc.o -largs -lX11 $(LDFLAG)
     
    FLAGS=-g
     
    all : gtest
     
    graphc.o: graphc.c graphc.h
        $(CC) graphc.c -o graphc.o
    gtest : graphc.o gtest.adb graph.adb graph.ads
        adamake gtest $(LDARGS)
    test : gtest
        ./gtest
    clean:
        rm -f *.o
    veryclean : clean
        rm -f gtest

  2. #2
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Bonsoir Hyuge

    J'essais d'imaginer le contexte : tu parle d'un fichier make, mais tu ne parle de rien d'autre. Qu'as-tu téléchargé d'autre accompagnant le fichier make ?

    Tu dis que tu es débutant avec les fichiers make, alors il faut tout d'abord t'expliquer ce qu'est un fichier make, et ce qui est nécéssaire pour l'utiliser.

    Pour simplifier, quand tu cré des grosse applications, tu compile des fichiers, qui ne sont pas toujours dans le même langage (source Ada, resource graphique Windows, fichier d'aide, etc, etc). Il existe des dépendance souvent entre les fichiers, et ceci détermine l'odre dans lequel il doivent êtres compilés. En plus, quand tu compile le tout (tout les fichiers dans tous les langages), il est préférable aussi, pour économiser le temps et les resources processeur, de ne compiler que ce qui a été modifié depuis la dernière compilation.

    C'est à cela que sert un fichier make : il est un fichier, dans un langage particulier, et ce fichier décrit les dépendances entre les fichiers à compiler (par exemple les fichiers *.rc dépendent des fichiers *.res), les programmes à utiliser pour compiler tel ou tel fichier (par exemple il indiquera que pour compiler les fichiers *.adb et *.ads il faut utiliser gnat, et que le résultat produit sont des fichiers *.o et *ali, ce qui indique aussi une dépendance)

    Donc un fichier make tout seul ne sert à rien. Sinon, c'est un comme avoir le mode d'emploie de la chaîne hifi, mais sans avoir la chaîne hifi.

    Le fichier make sert le plus souvent à créer des binaire (applications ou librairies), mais pas toujours. Si tu préfère ne pas avoir à passer par les fichiers make, le plus simple serait que tu trouve les binaires des librairies, et comme ça tu n'aurait pas besoin de les compiler.

    Et aussi : tu es sous quel environement ? Parce que ton fichier make est pour Linux (il ne fonctionnera pas sous Windows).

    fhemt ? (tu comprends ?)

    à+
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    ben merci de me l'expliquer je sais a quoi ca sert mais je sais pas les créer c'est tout...
    evidemment avec ce make j'avais les bibliotheque et les fichiers source (ceux ecris dans le fichier d'ailleur...)
    je suis sous linux (debian) et la ou je l'ai pris ils disent de taper make alors moi je le fais ^^
    j'ai juste changer un truc dans le make
    c'est le compilateur ada, a la base la commande etait adamke et je l'ai changé par gnatmake (etant donné que mon compliateur ada est gnat...)
    les fichiers avec etaient Makefile,graphc.h,gtest.adb,graph.adb,graph.ads,graphc.c
    le tout dans un gzip...
    Merci d'avance si quelqu'un arrive a me repondre...

  4. #4
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Bon, ok, alors tu as les sources Ada et C, accompagné du fichier make.

    Le message d'erreur que tu as est simple : il ne sait pas comment produire le fichier graphc.c. Normal, le fichier make ne dit pas comment le créer, puisqu'il doit être déjà présent. Pourtant il figure dans la liste des fichier que tu donne. Alors il faut savoir pourquoi make ne trouve pas ton fichier. La seule explication que je peux imaginer pour le moment, est que ton fichier make et ton fichier C ne sont pas dans le même repertoire (le fichier make semble indiqué qu'ils devraient êtres dans le même repertoire).

    Dans quels repertoires as-tu copier respectivement chacun des fichiers ?

    N.B : un truc me chiffone... les macros DESTINC et DESTLIB ne sont utilisées nulle-part dans le fichier make ?

    P.S : je me demande si ce topic ne devrait pas être déplacé dans un sous forum plus approprié. Il ne concerne pas Ada dans son fond, mais plutôt l'utilisation de make sous Linux.
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

Discussions similaires

  1. Test unitaire pour de l'interface graphique
    Par nak dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 28/12/2005, 22h00
  2. Outil pour créer des interfaces graphiques
    Par Cyborg289 dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 11/07/2005, 16h48
  3. outil pour développer un interface graphique??
    Par vasilov dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 25/06/2005, 18h11
  4. [RECHERCHE] un module pour developer une interface graphique
    Par romtrash dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 10/03/2005, 15h46
  5. Réponses: 3
    Dernier message: 15/03/2004, 00h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo