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

C Discussion :

Mon makefile me fait des misères !


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 20
    Par défaut Mon makefile me fait des misères !
    D'abord bonjour à tous, comme c'est ma première fois sur ce forum, je vais essayer d'être aussi clair que possible, toutefois, soyez indulgent...

    Je fais actuellement des petits tests pour apprendre le JNI, sans entrer dans les détails, voici mon problème:
    • j'ai un lot de fichiers: des ".c", des ".h", et des ".def"
    • jusque là, je tapais par exemple depuis une fenêtre "invite de commande":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    gcc -c *.c  // pour compiler ;)
    gcc -shared -o lib.dll prog.c prog.def  // pour génerer le .dll qui permet de faire communiquer le code java avec le c
    De cette manière çà fonctionne impec' sauf qu'avec 40 fichiers çà commence à être long... Je voudrais donc faire un makefile !
    En parcourant google, j'ai rédigé ce Makefile qui visiblement n'est pas correct:

    SRC = prog1.c prog2.c prog3.c interface1.c interface2.c interface3.c
    DEF = Classe1.def Classe2.def
    OBJ = $(SRC:.c=.o)
    CC = gcc
    LFLAGS = -c
    LFLAGS2 = -shared -o
    %.o: %.c *.h $(CC) -c $(<) -o $(@) #pour compiler
    all: $(OBJ) $(CC) $(OBJ) $(LFLAGS) #pour compiler suite
    $(CC) $(LFLAGS2) lib.dll $(OBJ) $(DEF) #pour générer le fameux .dll

    clean: del $(OBJ)
    Quand je lance ce makefile, j'ai çà qui s'affiche:

    gcc -c -o prog1.o prog1.c
    gcc -c -o prog2.o prog2.c
    gcc -c -o prog3.o prog3.c
    gcc -c -o interface1.o interface1.c
    gcc -c -o interface2.o interface2.c
    gcc -c -o interface3.o interface3.c
    make: ***no rule to make target 'gcc', needed by 'all'. stop.


    Au final, mes fichiers sont compilés (j'ai bien les ".o") mais pas un ".dll" à l'horizon...

    Si des pros des Makefile passent par là, un p'tit coup de pouce siouplait.

    Merci d'avance.

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par myryad Voir le message
    En parcourant google, j'ai rédigé ce Makefile qui visiblement n'est pas correct:
    T'es pas loin, tu as oublie un retour chariot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    all: $(OBJ) 
            $(CC) $(OBJ) $(LFLAGS) #pour compiler suite
            $(CC) $(LFLAGS2) lib.dll $(OBJ) $(DEF) #pour générer le fameux .dll
    (attention, il faut une tabulation devant chaque action).
    Un Makefile est structure de cette facon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    target: dependencies
    <tab>action

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 20
    Par défaut
    ok, merci pour ta réponse, j'essaye çà demain matin au boulot !

    encore merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. GetEnvironmentVariable() me fait des misères.
    Par bvsud dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 09/10/2014, 20h28
  2. rmi me fait des misères
    Par sevyc64 dans le forum Débuter avec Java
    Réponses: 14
    Dernier message: 28/04/2011, 15h19
  3. [MySQL] Boucle while qui me fait des misères
    Par joboy84 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 06/08/2009, 14h40
  4. Menu qui fait des misères
    Par kaiser59 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 08/12/2006, 20h06
  5. [gcc me fait des misères]
    Par GyZmoO dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 11/05/2006, 19h43

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