Bonjour,
Je bloque depuis quelques temps sur un makefile. J'ai un répertoire appelé test qui contient un répertoire src avec les fichiers a.c, b.c et c.c.
Lorsque mon makefile est dans le répertoire src, tout fonctionne bien mais si je le mets dans le répertoire test, plus rien ne fonctionne. J'ai donc simplifié le makefile pour trouver mon erreur. Depuis que je l'ai trouvé, je ne vois pas comment la corriger.
Ce Makefile dans le répertoire test/src fonctionne.
renvoie deux lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SRC= $(wildcard *.c) OBJ=$(SRC:.c=.o) test: @echo (SRC) @echo (OBJ)
Ce makefile dans le répertoire test ne fonctionne pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 a.c b.c c.c a.o b.o c.o
et renvoie deux lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SRCX= ./src SRC= $(SRCX)/$(wildcard *.c) OBJ=$(SRC:.c=.o) test: @echo (SRC) @echo (OBJ)
Si je remplace $(wildcard *.c) par les fichiers en dur,cela fonctionne. Mais je veux la génération automatique des fichiers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 .src/ .src/
Une piste est la bienvenue.
Autre problème rencontré:
Si j'ai l'arborescence suivante test/src/include/header1/a.h , test/src/include/header2/b.h et test/src/include/header3/c.h, alors c'est la catastrophe.
Je ne vois pas comment indiquer dans mon option I$(INC) les différents répertoires des headers.
Une piste ?
Merci à vous tous par avance.
Partager