Bonjour,

Je souhaiterais comprendre cet exemple récupéré sur internet :

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
 
 
all : copie
 
copie : commande.o fichiers.o copiefic.o
	gcc commande.o fichiers.o copiefic.o -o copie
 
commande.o : commande.c
	gcc -c -Wall commande.c
 
fichiers.o : fichiers.c
	gcc -c -Wall fichiers.c
 
copiefic.o : copiefic.c fichiers.h
	gcc -c -Wall copiefic.c
 
clean :
	rm *.o
 
Puisque fichiers.h a été modifié la commande de la cible copiefic.o est exécutée, elle a pour effet de modifier copiefic.o, et donc la commande de la cible copie est elle aussi exécutée :
Si j'ai bien compris le commande.o et fichiers.o ne sont pas recrées.
Je souhaiterais donc savoir comment makefile sait si un fichier a été modifié ou pas pour lancer les commandes de création du .o.

Cordialement