Ajout de tests pour la gestion des dépendances multiples
This commit is contained in:
parent
d7fa531f47
commit
ffc6257c50
1
tests/C/test-07-dependency/README.md
Normal file
1
tests/C/test-07-dependency/README.md
Normal file
@ -0,0 +1 @@
|
||||
Dépendances multiples : Vérifier que si un fichier .c dépend de plusieurs fichiers .h, toute modification d'un .h entraîne la recompilation du .c.
|
26
tests/C/test-07-dependency/bake/Bakefile
Normal file
26
tests/C/test-07-dependency/bake/Bakefile
Normal file
@ -0,0 +1,26 @@
|
||||
CC = gcc
|
||||
CFLAGS = -Wall -Wextra -Werror
|
||||
|
||||
# Règle par défaut
|
||||
all: program
|
||||
|
||||
# Compilation de l'exécutable
|
||||
program: main.o module.o
|
||||
$(CC) $(CFLAGS) -o program main.o module.o
|
||||
|
||||
# Compilation des fichiers .c en .o
|
||||
main.o: main.c module.h
|
||||
$(CC) $(CFLAGS) -c main.c -o main.o
|
||||
|
||||
module.o: module.c module.h
|
||||
$(CC) $(CFLAGS) -c module.c -o module.o
|
||||
|
||||
# Nettoyage des fichiers objets et de l'exécutable
|
||||
clean:
|
||||
rm -f main.o module.o program
|
||||
|
||||
# Nettoyage complet
|
||||
mrproper: clean
|
||||
|
||||
# Force la recompilation
|
||||
rebuild: clean all
|
8
tests/C/test-07-dependency/bake/main.c
Normal file
8
tests/C/test-07-dependency/bake/main.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include <stdio.h>
|
||||
#include "module.h"
|
||||
|
||||
int main() {
|
||||
printf("Test du programme Bake/Make !\n");
|
||||
print_message();
|
||||
return 0;
|
||||
}
|
6
tests/C/test-07-dependency/bake/module.c
Normal file
6
tests/C/test-07-dependency/bake/module.c
Normal file
@ -0,0 +1,6 @@
|
||||
#include <stdio.h>
|
||||
#include "module.h"
|
||||
|
||||
void print_message() {
|
||||
printf("Module chargé avec succès !\n");
|
||||
}
|
6
tests/C/test-07-dependency/bake/module.h
Normal file
6
tests/C/test-07-dependency/bake/module.h
Normal file
@ -0,0 +1,6 @@
|
||||
#ifndef MODULE_H
|
||||
#define MODULE_H
|
||||
|
||||
void print_message();
|
||||
|
||||
#endif
|
26
tests/C/test-07-dependency/make/Makefile
Normal file
26
tests/C/test-07-dependency/make/Makefile
Normal file
@ -0,0 +1,26 @@
|
||||
CC = gcc
|
||||
CFLAGS = -Wall -Wextra -Werror
|
||||
|
||||
# Règle par défaut
|
||||
all: program
|
||||
|
||||
# Compilation de l'exécutable
|
||||
program: main.o module.o
|
||||
$(CC) $(CFLAGS) -o program main.o module.o
|
||||
|
||||
# Compilation des fichiers .c en .o
|
||||
main.o: main.c module.h
|
||||
$(CC) $(CFLAGS) -c main.c -o main.o
|
||||
|
||||
module.o: module.c module.h
|
||||
$(CC) $(CFLAGS) -c module.c -o module.o
|
||||
|
||||
# Nettoyage des fichiers objets et de l'exécutable
|
||||
clean:
|
||||
rm -f main.o module.o program
|
||||
|
||||
# Nettoyage complet
|
||||
mrproper: clean
|
||||
|
||||
# Force la recompilation
|
||||
rebuild: clean all
|
8
tests/C/test-07-dependency/make/main.c
Normal file
8
tests/C/test-07-dependency/make/main.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include <stdio.h>
|
||||
#include "module.h"
|
||||
|
||||
int main() {
|
||||
printf("Test du programme Bake/Make !\n");
|
||||
print_message();
|
||||
return 0;
|
||||
}
|
6
tests/C/test-07-dependency/make/module.c
Normal file
6
tests/C/test-07-dependency/make/module.c
Normal file
@ -0,0 +1,6 @@
|
||||
#include <stdio.h>
|
||||
#include "module.h"
|
||||
|
||||
void print_message() {
|
||||
printf("Module chargé avec succès !\n");
|
||||
}
|
6
tests/C/test-07-dependency/make/module.h
Normal file
6
tests/C/test-07-dependency/make/module.h
Normal file
@ -0,0 +1,6 @@
|
||||
#ifndef MODULE_H
|
||||
#define MODULE_H
|
||||
|
||||
void print_message();
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user