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

Systèmes de compilation Discussion :

question sur le make clean


Sujet :

Systèmes de compilation

  1. #1
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2004
    Messages : 103
    Points : 79
    Points
    79
    Par défaut question sur le make clean
    bonjour
    je demande votre aide parceque je ne comprend pas bien ce que fait mon makefile. pour compiler il marche. Quand je fait un make clean, le premier marche mais quand je refait un deuxieme à la suite, ca compile puis fait le rm *.o. Est ce que c'est normal ou y a t il un problème?
    #declaration des variables
    objets1 = titi.o tata.o
    objets = toto.o $(objets1)
    CFLAGS = -Wall -g

    #Dépendences

    CliExe :$(objets)
    gcc $(CFLAGS) -o toto $(objets);

    %.o : %.c tpmake.h
    gcc $(CFLAGS) -c $<

    #c pas obligatoire mais bon ...
    titi.o : titi.c tpmake.h
    tata.o :tata.c tpmake.h
    toto.o :toto.c tpmake.h

    # effacer les .o (make clean)
    clean : $(objets1) toto.o
    rm $(objets1) toto.o

  2. #2
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2004
    Messages : 103
    Points : 79
    Points
    79
    Par défaut
    c'est moi où il y a personne dans cette partie du forum

  3. #3
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    Salut BigBarbare,
    Je trouve ton makefile assez tordu !
    Pour repondre a ta question, c'est noraml que ca te compile ton programme quand tu fait un make clean! c'est toi qui l'as definit pour le clean !
    clean : $(objets1) toto.o
    cela sous entend que pour que le clean ce fasse les action contenu dans objet1 et toto.o doivent etre faite !

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    Ton Makefile est globalement assez tordu...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    objets1 = titi.o tata.o
    objets = toto.o $(objets1)
    Pourquoi séparer les deux si, au final, tu n'utilises que $(objets) ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    clean : $(objets1) toto.o
    rm $(objets1) toto.o
    Oui, le comportement que tu constates ets exactement celui que tu décris dans ton Makefile :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    clean : $(objets1) toto.o
    Cela indique que la cible "clean" dépend de $(objets1) et de toto.o.
    D'ailleurs à ce sujet, je te fais remarquer que cette dépendance revient à faire une dépendance de $(objets).

    Donc, lorsque tu compiles, tu créés ces objets.
    Ensuite, si tu appelles "make clean", alors il va vérifier la présence de ses dépendances. Comme elles sont là, il n'a pas besoin de les reconstruire, et passe donc à l'exécution

    En revanche, à l'exécution suivante de make clean, les objets dont il dépend n'existent pas. Il cherche donc à les créer avant de passer à la suite.

Discussions similaires

  1. Question sur make
    Par nicolas66 dans le forum Linux
    Réponses: 1
    Dernier message: 09/06/2006, 18h05
  2. [VB6]Question sur Make .exe
    Par riesseg dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 19/05/2006, 23h54
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 09h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 22h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 17h11

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