Vérifie la compilation d'un programme C simple lorsqu'aucun fichier exécutable n'existe. Ce test confirme que `bake` peut correctement créer un exécutable à partir d'un fichier source.
### Test 02: Already Exist
[Accéder au test](test-02-already-exist/)
Teste le comportement lorsque l'exécutable existe déjà et est à jour. `bake` devrait reconnaître que la cible est déjà à jour et ne pas recompiler inutilement.
### Test 03: Circular
[Accéder au test](test-03-circular/)
Vérifie que `bake` peut détecter et gérer correctement les dépendances circulaires dans les règles, évitant les boucles infinies.
### Test 04: Edited
[Accéder au test](test-04-edited/)
Teste le comportement lorsqu'un fichier source est modifié. `bake` devrait détecter la modification et recompiler l'exécutable.
### Test 05: Variables
[Accéder au test](test-05-variables/)
Vérifie la prise en charge des variables dans les règles `bake`, comme le font les `Makefile` traditionnels.
### Test 06: Variables on Cascade
[Accéder au test](test-06-variables-on-cascade/)
Teste la propagation des variables à travers plusieurs niveaux de règles et de dépendances.
### Test 07: Dependency
[Accéder au test](test-07-dependency/)
Vérifie la résolution correcte des dépendances entre plusieurs fichiers source et en-têtes.
### Test 08: Space vs Tabulation
[Accéder au test](test-08-space-vs-tabulation/)
Teste la gestion des indentations avec des espaces par rapport aux tabulations, qui est une considération importante dans les Makefiles.
### Test 09: Handling Comment
[Accéder au test](test-09-handling-comment/)
Vérifie que `bake` gère correctement les commentaires dans les fichiers de règles.
### Test 10: Phony
[Accéder au test](test-10-phony/)
Teste les cibles PHONY qui ne correspondent pas à des fichiers réels mais exécutent des commandes (comme `clean` ou `all`).
### Test 11: Error in Code
[Accéder au test](test-11-error-in-code/)
Vérifie le comportement de `bake` face à des erreurs dans le code source pendant la compilation.
### Test 12: File Don't Exist
[Accéder au test](test-12-file-dont-exist/)
Teste la réaction de `bake` lorsqu'un fichier requis n'existe pas.
### Test 13: Dependancy Don't Exist
[Accéder au test](test-13-dependancy-dont-exist/)
Vérifie le comportement de `bake` lorsqu'une dépendance spécifiée n'existe pas.
### Test 14: Remove Source and Rebuild
[Accéder au test](test-14-remove-source-and-rebuild/)
Teste la capacité de `bake` à gérer la suppression et la recréation de fichiers source.
### Test 15: Subdir Build
[Accéder au test](test-15-subdir-build/)
Vérifie la gestion des chemins relatifs et la compilation de fichiers dans des sous-répertoires.
### Test 16: Strange Variables
[Accéder au test](test-16-strange-variables/)
Teste l'utilisation de variables avec des noms ou des valeurs inhabituels ou complexes.
### Test 17: Rule Without Command
[Accéder au test](test-17-rule-without-command/)
Vérifie le comportement de `bake` avec des règles qui ne spécifient aucune commande à exécuter.
### Test 18: Path Characters
[Accéder au test](test-18-path-characters/)
Teste la gestion des chemins contenant des caractères spéciaux ou des espaces.
### Test 19: Multiple Targets
[Accéder au test](test-19-multiple-targets/)
Vérifie la définition et l'exécution de règles avec plusieurs cibles.
### Test 20: Circular 2
[Accéder au test](test-20-circular-2/)
Un scénario alternatif pour tester la détection et la gestion des dépendances circulaires.
### Test 21: Generate
[Accéder au test](test-21-generate/)
Teste la génération dynamique de fichiers durant le processus de build.
### Test 22: Future Timestamp
[Accéder au test](test-22-future-timestamp/)
Vérifie le comportement de `bake` lorsqu'un fichier source a une date de modification dans le futur.
### Test 23: Identical Timestamps
[Accéder au test](test-23-identical-timestamps/)
Teste le comportement lorsque plusieurs fichiers impliqués dans la compilation ont exactement la même date de modification.
### Test 24: 50target
[Accéder au test](test-24-50target/)
Vérifie la performance et la stabilité de `bake` avec un grand nombre de cibles (50).