Précision sur les makefile
Hello.
En reprennant le code du tutoriel makefile du site, je souhaiterai avoir quelques précisions.
Code:
1 2 3 4 5 6 7 8 9 10
|
hello: hello.o main.o
gcc -o hello hello.o main.o
hello.o: hello.c
gcc -o hello.o -c hello.c -Wall -ansi
main.o: main.c hello.h
gcc -o main.o -c main.c -Wall -ansi |
Je souhaiterai avoir des précisions: lorsqu'on défini une règle pour un .o, on lui dit que celui-ci dépend du fichier source correspondant, et également d'autres fichiers.h (ici par exemple main dépent de hello.h)
Mais on n'a crée aucune règle pour les .h, que fait le makefile avec les .h qu'on lui décrit en dépendance? De plus, main.o ne dépent-il pas également de hello.c? Ou alors peut on remplacer la dépendance hello.h par hello.c ?
De plus, lorsqu'on dit que main.c dépent de main.o, ne dépent-il pas aussi de main.h? Idem pour hello.o. Faut-il alors préciser également le header correspondant a chaque fois (ca semble ne pas être tout le temps le cas)?
Merci d'avance de vos précisions.