Test 15 - Compilation avec sous-répertoires
Ce test vérifie si bake et make peuvent compiler un fichier source situé dans un sous-répertoire (src/) et placer l'exécutable résultant dans un autre sous-répertoire (build/).
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-15-sous-repertoires/
├── README.md # Ce fichier
├── bake/
│ ├── Bakefile # Fichier de règles pour bake
│ ├── bakefile.jar # Exécutable de bake (JAR)
│ ├── src/
│ │ ├── main.c # Fichier source principal
│ ├── build/ # Dossier où sera placé l'exécutable
└── make/
├── Makefile # Fichier de règles pour make
├── src/
│ ├── main.c # Fichier source principal
└── build/ # Dossier où sera placé l'exécutable
Contenu des fichiers de règles
Les fichiers Makefile et Bakefile contiennent les règles suivantes :
CC = gcc
CFLAGS = -Wall -Wextra
build/main: src/main.c
mkdir -p build
$(CC) $(CFLAGS) -o build/main src/main.c
Objectif du test
Ce test vérifie que bake et make :
- Reconnaissent que le fichier source est situé dans un sous-répertoire (
src/). - Créent le répertoire
build/si celui-ci n'existe pas. - Compilent
main.cet placent l'exécutable dansbuild/main. - Comparent les messages de sortie pour s'assurer que
bakeetmakegèrent correctement les sous-répertoires.
Comment exécuter le test
Test manuel
-
Compilez avec Make :
cd make makeL'exécutable
build/maindoit être généré. -
Exécutez le programme compilé :
./build/mainVous devriez voir
Hello from Bake & Make!affiché. -
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
bakeetmakedoivent compiler le programme sans erreur.- L'exécutable
build/maindoit être généré et exécutable. Hello from Bake & Make!doit être affiché lors de l'exécution du programme.