Académique Documents
Professionnel Documents
Culture Documents
L’utilitaire make
8 septembre 2020
cible : [dependances]
[commandes]
...
Le nom cible est suivi par un deux points et puis par une liste de dépendances s’il y en a. Les lignes
suivantes, contenant les commandes, commencent par une tabulation.
1.2 Exercice
Soit le fichier de règles suivant :
msg : a b
c a t a b > msg
b:
echo ” S i g n a t u r e ” > b
a : a1 a2 a3
c a t a1 a2 a3 > a
a3 :
echo ” Fin a1 + a2 ” > a3
c:
echo ” j e s u i s i n v i s i b l e ”
On suppose que le répertoire contient les fichiers a a1 a2 b et regles, et que toutes les dépendances
sont à jour. La commande touch met à jour la date d’un fichier si il existe ou le crée si il n’existe pas.
1
Questions
Questions
1. Si fonc.c contient deux fonctions ”publiques”, int fct1(int a) et void fct2(int b) et une
variable externe publique, double pi, quel doit être le contenu du fichier fonc.h ?
2. Écrire un fichier de règles permettant d’automatiser la compilation du programme prog à l’aide
de la commande make.
3. Y ajouter une cible clean permettant d’effacer les fichiers objets et l’exécutable. Comment ”déclencher”
le nettoyage ?
3 Cibles manquantes
Soit le fichier de règles ci-dessous :
o b l i g e : FORCE
touch o b l i g e
FORCE:
Question
— Que se passe-t-il si on appelle make plusieurs fois avec le fichier de règles donné ci-dessus ?
prog : $ (OBJ)
g c c −o prog $ (OBJ)
%.o : %. c
g c c −c $< −o $@