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.c
et placent l'exécutable dansbuild/main
. - Comparent les messages de sortie pour s'assurer que
bake
etmake
gèrent correctement les sous-répertoires.
Comment exécuter le test
Test manuel
-
Compilez avec Make :
cd make make
L'exécutable
build/main
doit être généré. -
Exécutez le programme compilé :
./build/main
Vous 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
bake
etmake
doivent compiler le programme sans erreur.- L'exécutable
build/main
doit être généré et exécutable. Hello from Bake & Make!
doit être affiché lors de l'exécution du programme.