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 :

question sur Makefile


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut question sur Makefile
    Bonjour,

    Je souhaiterais comprendre cet exemple récupéré sur internet :

    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
     
     
    all : copie
     
    copie : commande.o fichiers.o copiefic.o
    	gcc commande.o fichiers.o copiefic.o -o copie
     
    commande.o : commande.c
    	gcc -c -Wall commande.c
     
    fichiers.o : fichiers.c
    	gcc -c -Wall fichiers.c
     
    copiefic.o : copiefic.c fichiers.h
    	gcc -c -Wall copiefic.c
     
    clean :
    	rm *.o
     
    Puisque fichiers.h a été modifié la commande de la cible copiefic.o est exécutée, elle a pour effet de modifier copiefic.o, et donc la commande de la cible copie est elle aussi exécutée :
    Si j'ai bien compris le commande.o et fichiers.o ne sont pas recrées.
    Je souhaiterais donc savoir comment makefile sait si un fichier a été modifié ou pas pour lancer les commandes de création du .o.

    Cordialement

  2. #2
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    La commande make se base sur les dates de dernières modifications :
    • de la cible
    • des dépendances

    pour savoir s'il doit regénérer, ou pas, la cible. Si une des dépendances est plus récente que la cible, il la (re)crée. Il ne regarde pas si un fichier (une "dépendance") a été modifié (il le comparerait avec ... quoi ?)

    ps : ce qui est appelé cible c'est, par exemple, "copiefic.o" dans ton makefile. Ses dépendances sont les fichiers "copiefic.c" et "fichiers.h".

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut
    Merci beaucoup pour cette explication

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/11/2010, 21h13
  2. Petite question sur les Makefiles
    Par HechMan dans le forum Linux
    Réponses: 6
    Dernier message: 23/08/2010, 10h58
  3. Question sur Makefile
    Par parboree dans le forum Systèmes de compilation
    Réponses: 2
    Dernier message: 20/11/2009, 15h25
  4. Réponses: 1
    Dernier message: 27/03/2008, 10h02
  5. [débutant] Question sur makefile
    Par nivose110 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 09/03/2006, 13h34

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