# Makefile pour le projet Taquin - SAE S1.02 / S1.04

# Variables de compilation
CC = gcc
CFLAGS = -Wall -Wextra -std=c89
LDFLAGS = -lgraph
TARGET = taquin

<<<<<<< HEAD
# Liste de tous les fichiers sources (.c) - INCLUT TOUS LES MODULES
=======
# Liste de tous les fichiers sources (.c) - INCLUT game_view.c
>>>>>>> 35d0b2d664efc5214a4ffbfd165dbee45dba3a2c
SRCS = src/main.c src/menu_view.c src/game_logic.c src/images.c src/utils.c src/game_view.c

# Liste de tous les fichiers objets (.o) correspondants
OBJS = $(patsubst src/%.c, obj/%.o, $(SRCS))

# ----------------------------------------------------------------------
# Cibles principales
# ----------------------------------------------------------------------

# Cible par défaut (crée l'exécutable)
all: dir $(TARGET)

# Crée le dossier obj/ si non existant
dir:
    @mkdir -p obj

# Règle de liaison : crée l'exécutable taquin à partir de tous les objets
$(TARGET): $(OBJS)
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)

# Règle générique pour la compilation de tous les .c en .o
obj/%.o: src/%.c
    $(CC) $(CFLAGS) -c $< -o $@

# Exécute le programme
run: $(TARGET)
    ./$(TARGET)

# Nettoyage
clean:
<<<<<<< HEAD
	@rm -rf obj $(TARGET)
=======
   @rm -rf obj $(TARGET)
>>>>>>> 35d0b2d664efc5214a4ffbfd165dbee45dba3a2c

.PHONY : all clean run
