# Makefile pour le projet Taquin - SAE S1.02 / S1.04 # Variables de compilation CC = gcc CFLAGS = -Wall -Wextra -std=c89 LDFLAGS = -lgraph TARGET = taquin # Liste de tous les fichiers sources (.c) - INCLUT TOUS LES MODULES 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 # (Transforme src/*.c en obj/*.o) 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: @rm -rf obj $(TARGET) .PHONY : all clean run