Test 09 - Gestion des commentaires dans le Makefile
Ce test vérifie que bake
et make
gèrent correctement les commentaires placés à différents endroits dans le fichier de règles.
Les commentaires ne doivent pas perturber l'exécution du script de compilation.
Sommaire
- Structure du test
- Contenu des fichiers de règles
- Objectif du test
- Comment exécuter le test
- Résultats attendus
Structure du test
test-09-commentaires/
├── README.md # Ce fichier
├── bake/
│ ├── Bakefile # Fichier de règles pour bake
│ ├── bakefile.jar # Exécutable de bake (JAR)
│ ├── main.c # Fichier source principal
│ ├── module.c # Fichier source du module
│ ├── module.h # Fichier d'en-tête
└── make/
├── Makefile # Fichier de règles pour make
├── main.c # Fichier source principal
├── module.c # Fichier source du module
└── module.h # Fichier d'en-tête
Contenu des fichiers de règles
Les fichiers Makefile
et Bakefile
contiennent les règles suivantes avec des commentaires placés à différents endroits :
# Définition des variables
COMPILER = gcc # On utilise gcc comme compilateur
CFLAGS = -Wall -Wextra # Options de compilation
OUTPUT = program # Nom de l'exécutable
# Liste des fichiers objets
OBJS = main.o module.o # Chaque .o correspond à un fichier source
# Règle principale
$(OUTPUT): $(OBJS) # L'exécutable dépend des fichiers objets
$(COMPILER) $(CFLAGS) -o $(OUTPUT) $(OBJS) # Compilation finale
# Compilation des fichiers objets
main.o: main.c # Dépendance explicite
$(COMPILER) $(CFLAGS) -c main.c -o main.o # Compilation de main.c
module.o: module.c # Autre dépendance
$(COMPILER) $(CFLAGS) -c module.c -o module.o # Compilation de module.c
# Nettoyage des fichiers générés
clean: # Cible pour supprimer les fichiers de compilation
rm -f $(OUTPUT) $(OBJS) # Suppression des fichiers objets et de l'exécutable
# Fin du Bakefile
Objectif du test
Ce test vérifie que bake
et make
interprètent correctement les commentaires sans affecter l'exécution du processus de compilation :
- Vérifier que les commentaires sont ignorés et ne gênent pas l'exécution.
- Confirmer que les fichiers sources sont bien compilés et l'exécutable est généré correctement.
- Comparer les messages de sortie pour s'assurer que
bake
etmake
gèrent les commentaires de manière similaire.
Comment exécuter le test
Test manuel
-
Compilez avec Make :
cd make make
-
Exécutez l'exécutable :
./program
-
Faites la même procédure avec Bake :
cd bake java -cp bakefile.jar fr.monlouyan.bakefile.Main
-
Comparez les résultats et les messages affichés.
Résultats attendus
- Les deux outils doivent ignorer les commentaires et exécuter les commandes normalement.
- L'exécutable
program
doit être généré sans erreur. - Les messages de sortie doivent indiquer que
bake
etmake
ont bien interprété le fichier de règles.