Test 06 - Gestion des variables en cascade
Ce test vérifie la prise en charge des variables en cascade dans bake
et make
, en analysant leur propagation correcte dans les commandes 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-06-cascade/
├── README.md # Ce fichier
├── bake/
│ ├── Bakefile # Fichier de règles pour bake
│ ├── bakefile.jar # Exécutable de bake (JAR)
│ ├── main.c # Fichier source C
└──make/
├── Makefile # Fichier de règles pour make
└── main.c # Fichier source C
Contenu des fichiers de règles
Les fichiers Makefile
et Bakefile
utilisent des variables imbriquées pour tester la substitution en cascade :
FLAGS = -ansi -pedantic
FLAGSS = $(FLAGS)
FLAGSSS = $(FLAGSS)
FLAGSSSS = $(FLAGSSS)
FLAGSSSSS = $(FLAGSSSS)
FLAGSSSSSS = $(FLAGSSSSS)
FLAGSSSSSSS = $(FLAGSSSSSS)
main: main.c
gcc $(FLAGSSSSSSS) -o main main.c
Objectif du test
Ce test vérifie que bake
et make
gèrent correctement les variables définies en cascade :
- Vérifier que chaque variable est correctement remplacée par sa valeur résolue.
- Vérifier que la compilation se déroule sans erreur et produit l'exécutable
main
. - Comparer les messages de sortie pour observer la propagation des variables.
Comment exécuter le test
Test manuel
-
Compilez avec Make :
cd make make
-
Compilez 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 devraient correctement remplacer les variables en cascade.
- La compilation devrait aboutir et produire un exécutable
main
. - Les messages de sortie devraient indiquer clairement l'expansion des variables imbriquées.
- Si
bake
ne gère pas correctement la propagation des variables, la compilation pourrait échouer ou utiliser des valeurs incorrectes.