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 :

Souci avec makefile


Sujet :

C++

  1. #1
    Membre confirmé Avatar de donkeyquote
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 195
    Par défaut Souci avec makefile
    Bonjour les gars !!
    Voici ma question hebdomadaire...

    Je suis en train de faire un makefile à la main pour pouvoir compiler sous Linux une application C++.
    J'aimerais bien savoir pourquoi il ne marche pas correctement... (ou pas du tout d'ailleurs)
    Voici le code du makefile :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    # Compiler g++
    CC=g++
     
    # Compiler options
    CFLAGS=-c -Wall -O3 
     
    # Object folder
    OBJ_F=./obj
     
    # All ".o"
    OBJ = pqr.o pqr_tst.o pqr_ob_fee.o
     
    all: demo
    	mkdir ./obj
     
    demo: demo.o pqr.o pqr_tst.o pqr_ob_fee.o 
    #	demo$(CC) $(OBJ_F)/$(OBJ) -o
    	$(CC) $(OBJ_F)/ $(OBJ) -o
     
    demo.o: test2.cpp
    	mkdir ./obj
    	$(CC) $(CFLAGS) test2.cpp
    	mv test2.o $(OBJ_F)
     
    pqr.o: pqr.cpp
    	$(CC) $(CFLAGS) pqr.cpp
    	mv pqr.o $(OBJ_F)
     
    pqr_tst.o: pqr_tst.cpp
    	$(CC) $(CFLAGS) pqr_tst.cpp
    	mv pqr_tst.o $(OBJ_F)
     
    pqr_ob_fee.o: pqr_ob_fee.cpp
    	$(CC) $(CFLAGS) pqr_ob_fee.cpp	
    	mv pqr_ob_fee.o $(OBJ_F)
     
    clean:
    	rm -rf $(OBJ_F) demo *core*
    Le but c'était qu'il mette tous les .o dans un repertoire "obj" que le script aurait créé auparavant.
    Comment je peux faire pour qu'il compile tous les .o contenus en "obj" d'un seul coup ? (Comme ce que j'ai essayé de faire avec $(CC) $(OBJ_F)/ $(OBJ) -o)

    Une deuxième question... à quoi ça sert : $<, $* et $@ ?
    Quelqu'un peux me donner des exemples ?

    Merci beaucoup de votre aide !!

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Pour la question sur la génération des .o dans un autre répertoire, voir ici
    http://www.developpez.net/forums/sho...d.php?t=433401

    Une introduction au Makefile ici
    http://gl.developpez.com/tutoriel/outil/makefile/

    $<: nom de la première dépendance
    $*: nom du fichier sans suffixe
    $@: nom de la cible

Discussions similaires

  1. petit soucis avec un makefile
    Par chouki dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 31/05/2010, 20h30
  2. quelques soucis avec word 2000
    Par ramchou dans le forum Word
    Réponses: 3
    Dernier message: 06/09/2004, 18h13
  3. Problème avec makefile
    Par snooopppp dans le forum Systèmes de compilation
    Réponses: 3
    Dernier message: 22/02/2004, 15h46
  4. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52
  5. Réponses: 4
    Dernier message: 16/02/2003, 12h16

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