Ajout de tests pour la gestion des dépendances multiples

This commit is contained in:
Moncef STITI 2025-02-07 17:31:17 +01:00
parent d7fa531f47
commit ffc6257c50
9 changed files with 93 additions and 0 deletions

@ -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.

@ -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

@ -0,0 +1,8 @@
#include <stdio.h>
#include "module.h"
int main() {
printf("Test du programme Bake/Make !\n");
print_message();
return 0;
}

@ -0,0 +1,6 @@
#include <stdio.h>
#include "module.h"
void print_message() {
printf("Module chargé avec succès !\n");
}

@ -0,0 +1,6 @@
#ifndef MODULE_H
#define MODULE_H
void print_message();
#endif

@ -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

@ -0,0 +1,8 @@
#include <stdio.h>
#include "module.h"
int main() {
printf("Test du programme Bake/Make !\n");
print_message();
return 0;
}

@ -0,0 +1,6 @@
#include <stdio.h>
#include "module.h"
void print_message() {
printf("Module chargé avec succès !\n");
}

@ -0,0 +1,6 @@
#ifndef MODULE_H
#define MODULE_H
void print_message();
#endif