begin process at 2012 05 29 03:23:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Autre

 > 

Gestion des dépendances des fichiers headers dans un Makefile


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Gestion des dépendances des fichiers headers dans un Makefile

mercredi 9 février 2011 à 12:34:25 | Gestion des dépendances des fichiers headers dans un Makefile

matt1038

Bonjour,

J'ai fait un petit programme de test avec son Makefile associé et je n'arrive pas à gérer les dépendances entre les fichiers .c et les fichiers .h
Dans mon programme, main.c dépend de hello.h donc j'ai ajouté la ligne suivante dans le Makefile:
main.o: hello.h
Lorsque je modifie hello.h et que je recompile, rien ne se passe car il estime qu'il n'y a aucune modification.

Voici mon Makefile:

CC=gcc
SUBDIR=/home/utilisateur/dev/test
CFLAGS=-Wall -I$(SUBDIR)/inc
LDFLAGS=
SRC= $(wildcard $(SUBDIR)/src/*.c)
OBJ= $(SRC:.c=.o)
EXEC=hello

all: $(EXEC)

$(EXEC): $(OBJ)
@$(CC) -o $@ $^ $(LDFLAGS)

main.o: hello.h

%.o: %.c
@$(CC) -o $@ -c $< $(CFLAGS)

Pouvez-vous m'éclairez svp?
Merci d'avance.
mercredi 9 février 2011 à 14:23:43 | Re : Gestion des dépendances des fichiers headers dans un Makefile

CptPingu

Administrateur CodeS-SourceS
Tu ne dépend pas de main.o, ce n'est pas ton problème ?

$(EXEC): $(OBJ) main.o
@$(CC) -o $@ $^ $(LDFLAGS)

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
Code ActionScript :
mercredi 9 février 2011 à 15:41:52 | Re : Gestion des dépendances des fichiers headers dans un Makefile

matt1038

Merci pour ta réponse mais cela ne règle pas mon problème.
En effet, l'instruction "OBJ= $(SRC:.c=.o)" rempli OBJ avec tous les noms de fichier.c en les transformant en .o
Ainsi, OBJ contient main.o et hello.o
Je souhaiterais que lorsque je modifie hello.h, le fichier "main.c" (le hello.c également en fait, j'ai oublié de le mentionner) soit recompilé.
mercredi 9 février 2011 à 15:53:19 | Re : Gestion des dépendances des fichiers headers dans un Makefile

CptPingu

Administrateur CodeS-SourceS
Réponse acceptée !
Ok j'ai compris ce que tu voulais faire ! (Je n'ai pas compris tout de suite).

Si tu as besoin de faire de la dépendance avec les headers, tu peux utiliser gcc -MM qui génère une règle de dépendance directement au format Makefile ! (Exemple crade: gcc -MM *.c)

Je t'invite à regarde une de mes sources où je réalise cette technique:
http://www.cppfrance.com/codes/COMPILATEUR-PSEUDO-PASCAL_49318.aspx

(Voire le configure, le Makefile et le src/Makefile)

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
mercredi 9 février 2011 à 17:34:48 | Re : Gestion des dépendances des fichiers headers dans un Makefile

matt1038

Ca marche!!
J'avais déjà essayé avec la méthode gcc -MM mais sans succès car il y avait une ou 2 erreurs dans mon Makefile.
J'ai enfin réussi grâce à ton exemple pour le mini-compilateur.

Merci beaucoup pour ton aide!



Cette discussion est classée dans : fichiers, main, makefile, hello, dépendances


Répondre à ce message

Sujets en rapport avec ce message

Problème création d'un makefile [ par pagoda ] Bonjour, j'ai un souci sur un projet que je dois faire au plus vite, je dois faire un makefile permettant de créer un exécutable du projet, seulement pb avec les fichiers cpp [ par Saros ] Bon là c'est la première fois que ça me le fait.Je bosse sous VC++6.J'ai un projet avec trois fichiers :estack.hetmain.cppRpn_Alg.cppJ'ai déclaré et d Gestion des dépendances dans un makefile [ par ralfy ] Bonjour, Je viens humblement sur ce forum quémander votre avis/aide sur un problème de récupération de dépendances dans un makefile. Voici ma situatio Include "je_comprend_pas_grand_chose.h" [ par neodelphi ] Bonjour tout le monde... C'est la première fois que je post un message ici, arf g le trac lol Bon je viend de me mettre au C++ pour me prog un jeu en Création d'une librairie à partir des .c et .h [ par RV2931 ] Bonjour,J'utilise actuellement une "librairie", ou plutôt ses sources .c et .h, et j'aurai voulus éviter d'inclure les 36 fichiers à chaque projet qui petit problème avec un makefile [ par leatitiazelda ] Salut à tous, Voilà, j'ai réalisé un mini-client en ftp et je bloque au niveau du makefile,en effet j'ai des fichiers .h que j ai justement inclus da DEV-C++ 4.9.8.0 [ par norton ] Bonjour,j'ai installé DEV-C++ 4.9.8.0 et quand je compile mon programme j'obtien une erreur :dans l'onglet compiler l'erreur est :- C:\tunel\projet\M partage de variable entre plusieurs fichiers [ par Spiffou ] salut à tous,j'ai un ptit pb sur vc6:j'ai un prog comportant plusieurs fichiers:main.cpp // code du mainfonction.cpp // code des fonc erreur compiling [ par blinix123 ] hello allPB: je lance VisualC++, je fais nouveau projet vide, nouveau fichier -> main.c la je tape les lignes de code: #include #include int main (i probleme avec string [ par slyfer07 ] Bonjour tout le monde,je débute en C++ et je suis en train de réaliser mon premier projet (j'utilise DevC++). Celui-ci comprend mon main.cpp, ainsi qu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales