# ceci est un makefile témoins
CC = gcc
CFLAGS = -Wall -Wextra -pedantic -std=c89


# Liste des fichiers objets
OBJS = main.o interface.o utils.o blocus.o boutons.o

# Nom de l'exécutable
EXEC = jeu

# Règle par défaut pour compiler tout le projet
all: $(EXEC)

# Règle de création de l'exécutable
$(EXEC): $(OBJS)
	$(CC) -o $(EXEC) $(OBJS) $(LDFLAGS) $(INCLUDES)

# Règles de compilation pour chaque fichier source
main.o: src/main.c include/interface.h include/utils.h include/blocus.h include/boutons.h
	$(CC) $(CFLAGS) -c src/main.c $(INCLUDES)

interface.o: src/interface.c include/interface.h
	$(CC) $(CFLAGS) -c src/interface.c $(INCLUDES)

utils.o: src/utils.c include/utils.h
	$(CC) $(CFLAGS) -c src/utils.c $(INCLUDES)

blocus.o: src/blocus.c include/blocus.h
	$(CC) $(CFLAGS) -c src/blocus.c $(INCLUDES)

boutons.o: src/boutons.c include/boutons.h
	$(CC) $(CFLAGS) -c src/boutons.c $(INCLUDES)

# Règle pour exécuter le programme
run: $(EXEC)
	./$(EXEC)

# Règle pour nettoyer les fichiers objets et l'exécutable
clean:
	rm -f $(OBJS) $(EXEC)