# -*- makefile -*- # $Id: makefile,v 1.3 2003/07/02 12:53:32 parmentf Exp $ # Corrigé du TP sur make. # la règle "all" dépend du fichier compte.txt et des # règles bonjour, clean et bye. # le "@" devant "echo" rend la commande "silencieuse", elle n'apparaît # pas sur la sortie standard. all: bonjour compte.txt clean bye @echo --- Make all: exécuté --- # en tapant "make clean", on supprime les fichiers finissant par ~ ou # .o clean: rm -f *~ *.o @echo ---- Make clean: exécuté --- # en tapant "make bonjour", on obtient le message suivant bonjour: @echo "Bonjour, comment ça va?" @echo ---- Make bonjour: exécuté --- # idem avec "make bye" bye: @echo "À bientôt!" @echo ---- Make bye: exécuté --- # le fichier modif.txt dépend du contenu du fichier original.txt modif.txt: original.txt sed -e 's/ILIB/DILIB/g' < original.txt > modif.txt @echo ---- Make modif.txt: exécuté --- # le fichier modif2.txt dépend des contenus des fichiers original.txt # et table.sed (si l'un des deux est modifié, la commande sed sera # exécutée). modif2.txt: original.txt table.sed sed -f table.sed < original.txt > modif2.txt @echo ---- Make modif2.txt: exécuté --- # le fichier compte.txt dépend du fichier modif2.txt (donc de sa # règle, qui dépend de original.txt et de table.sed). Donc si on # modifie table.sed et qu'on tape "make compte.txt", ou toute autre # règle qui dépend directement ou indirectement de table.sed, # cette règle sera exécutée. compte.txt: modif2.txt wc -l < modif2.txt > compte.txt @echo ---- Make compte.txt: exécuté ---