Bonjour.
J'ai un petit programme avec différents modules qui se construit ainsi.
[ ] représente la relation d'inclusion, par exemple, A [B] signifie que B est inclu dans A.
J'ai donc.
main.c[A[B[C[D]]]]
Voici la tête de mon makefile
une fois que j'ai A.o, il faut que je génère le binaire main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 A.o : A.c A.h B.h B.o $(CC) $(CFLAGS) -c $< B.o $(LIBDIR) $(LIBRARIES) B.o : B.c B.h C.h C.o $(CC) $(CFLAGS) -c $< C.o $(LIBDIR) $(LIBRARIES) C.o : C.c C.h D.h D.o $(CC) $(CFLAGS) -c $< D.o $(LIBDIR) $(LIBRARIES) D.o : D.c D.h $(CC) $(CFLAGS) -c $< $(LIBDIR) $(LIBRARIES)
j'ai fait ceci :
Et j'ai des undef pour tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 main : main.c A.o $(CC) $(CFLAGS) main.c -o main A.o $(LIBDIR) $(LIBRARIES)
Pourtant, chaque .o ne contient il pas toutes les définitions précédentes ?
si je change cette ligne en :
Il y a des définitions multiples.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 main : main.c A.o $(CC) $(CFLAGS) main.c -o main *.o $(LIBDIR) $(LIBRARIES)
Auriez vous une solution?
Merci d'avance.
Partager