# Définition des variables
COMPILER = gcc  # On utilise gcc comme compilateur
CFLAGS = -Wall -Wextra  # Options de compilation
OUTPUT = program  # Nom de l'exécutable

# Liste des fichiers objets
OBJS = main.o module.o  # Chaque .o correspond à un fichier source

# Règle principale
$(OUTPUT): $(OBJS)  # L'exécutable dépend des fichiers objets
	$(COMPILER) $(CFLAGS) -o $(OUTPUT) $(OBJS)  # Compilation finale

# Compilation des fichiers objets
main.o: main.c  # Dépendance explicite
	$(COMPILER) $(CFLAGS) -c main.c -o main.o  # Compilation de main.c

module.o: module.c  # Autre dépendance
	$(COMPILER) $(CFLAGS) -c module.c -o module.o  # Compilation de module.c

# Nettoyage des fichiers générés
clean:  # Cible pour supprimer les fichiers de compilation
	rm -f $(OUTPUT) $(OBJS)  # Suppression des fichiers objets et de l'exécutable

# Fin du Bakefile
