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 :

Make: génération des dépendances avec gcc


Sujet :

Systèmes de compilation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 44
    Points : 42
    Points
    42
    Par défaut Make: génération des dépendances avec gcc
    J'essaye de créer un makefile qui générère automatiquement les dépendance des .c aux .h, mais il n'a pas le comportement voulu.

    Il compile bien et génère correctement les dépendances, mais si on appelle make clean alors que les fichiers sont déjà détruits, les dépendances sont recréées avant d'être détruites à nouveau...(cf. après si vous ne comprenez pas)

    Voilà le 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
     
    CFLAGS= -Wall
    LDFLAGS=
    LIB=
    CC= gcc $(CFLAGS)
    LD= gcc $(LDFLAGS)
     
    # sources
    SRC=mes_sources.c
     
    # nommage automatique des fichiers objets d'apres les 
    # noms des sources C
    OBJ= $(SRC:.c=.o)
     
    # nommage automatique des fichiers de dependance
    # d'apres les noms des sources C
    DEP= $(SRC:.c=.d)
     
    all: mon_programme
     
    mon_programme: $(OBJ)
    	$(LD) -o $@ $+ $(LIB)
     
    %.o: %.c
    	$(CC) -o $@ -c $<
     
    %.d: %.c
    	$(CC) -MM -MD -o $@ $<
     
    .PHONY: clean
    clean:
    	rm -f $(OBJ) $(DEP)
     
    # inclusion des dependances
    include $(DEP)
    Si j'appelle clean sur le répertoire nettoyé, toutes les dépendances sont regénérés. Voici la sortie d'un second appel consécutif à make clean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    gcc -MM -MD -o mes_sources.d mes_sources.c
    gcc -MM -MD -o une_autre.d une_autre.c
    ...
    rm -f mes_sources.o mes_sources.d
    Je ne comprend pas pourquoi...
    Merci d'avance pour vos réponses.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 44
    Points : 42
    Points
    42
    Par défaut
    Le problème a lieu même en écrivant -include à la place de include.

    Je travaille sur le make de cygwin

    ++

Discussions similaires

  1. ajout des librairies avec gcc
    Par sinfos dans le forum Débuter
    Réponses: 4
    Dernier message: 17/09/2008, 19h18
  2. génération des états avec netbeans
    Par chflb dans le forum NetBeans
    Réponses: 2
    Dernier message: 27/08/2008, 13h55
  3. Compilation des MFC avec gcc
    Par ricardo8125 dans le forum MFC
    Réponses: 10
    Dernier message: 22/12/2006, 17h29
  4. Ordre de l'édition des liens avec GCC
    Par Matthieu Brucher dans le forum Linux
    Réponses: 6
    Dernier message: 29/08/2006, 07h56

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