Test n°14 - Suppression d'un fichier source et recompilation
Objectif
Ce test a pour but de vérifier comment Bake et Make réagissent lorsque le fichier source .c
est supprimé après la première compilation et qu'une recompilation est demandée.
Structure du projet
Le test est organisé en deux répertoires :
.
├── bake
│ ├── Bakefile # Fichier de build pour Bake
│ ├── bakefile.jar # Fichier Bake pré-compilé
│ └── test.c # Fichier source C
├── bakefile.jar # Copie du fichier Bake
└── make
├── Makefile # Fichier de build pour Make
└── test.c # Fichier source C
Étapes du test
1. Compilation initiale
Avec Bake
Exécutez les commandes suivantes :
cd bake
java -cp bakefile.jar fr.monlouyan.bakefile.Main
Vous devriez voir la compilation de test.c
en test.o
.
Avec Make
Exécutez les commandes suivantes :
cd ../make
make
Cela devrait également compiler test.c
en test.o
.
2. Suppression du fichier source
Dans chaque répertoire (bake/
et make/
), supprimez test.c
:
rm test.c
3. Recompilation
Avec Bake
java -cp bakefile.jar fr.monlouyan.bakefile.Main
Avec Make
make
Résultats attendus
Si Bake
fonctionne comme Make
, nous devrions observer une erreur de compilation, car test.c
est manquant.
Exemple de sortie attendue :
make: *** No rule to make target `test.c', needed by `test.o'. Stop.