From 04956e052a2da56151bfeb5d338319c1d175ac66 Mon Sep 17 00:00:00 2001 From: Efe ERKEN <efe.erken@etu.unistra.fr> Date: Tue, 8 Nov 2022 01:04:46 +0100 Subject: [PATCH] :hammer: CONFIG: Enhance and format makefile Makefile is improved with more standardized look. --- makefile | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/makefile b/makefile index 02367f9..5a469e8 100644 --- a/makefile +++ b/makefile @@ -1,33 +1,42 @@ CC = gcc -CFLAGS = -Wall -Wextra -SOURCES = $(wildcard *.c) +CFLAGS = -Wall -Wextra -g # L'option de debug -g à enlever +ALL_SOURCES = $(wildcard *.c) +TEST_SOURCES = $(filter-out main.c, $(ALL_SOURCES)) +SOURCES = $(filter-out test.c, $(ALL_SOURCES)) HEADERS = $(wildcard *.h) +TEST_OBJECTS = $(TEST_SOURCES:.c=.o) OBJECTS = $(SOURCES:.c=.o) -MAKEFILE = makefile -README = README.md -DOXYFILE = Doxyfile -DOXYGEN = doxygen DOXYGEN_FLAGS = LEVELS = $(wildcard level*.txt) ARCHIVE_NAME = ERKEN_Efe.tar.gz -ARCHIVE_SOURCES = $(SOURCES) $(HEADERS) $(MAKEFILE) $(LEVELS) $(README) $(DOXYFILE) -ARCHIVE = tar +ARCHIVE_SOURCES = $(SOURCES) $(HEADERS) makefile $(LEVELS) README.md Doxyfile +ARCHIVER = tar ARCHIVE_FLAGS = -cvzf +TEST_EXEC = sokoban_test EXEC = sokoban +.PHONY : all test clean doc archive + +all : $(EXEC) + +test : $(TEST_EXEC) + $(EXEC) : $(OBJECTS) $(CC) $(CFLAGS) -o $@ $^ -%.o : %.c +$(TEST_EXEC) : $(TEST_OBJECTS) + $(CC) $(CFLAGS) -o $@ $^ + +%.o : %.c %.h $(CC) $(CFLAGS) -c $< clean : - rm sokoban - rm *.o + rm -f $(EXEC) $(TEST_EXEC) $(OBJECTS) doc : - $(DOXYGEN) $(DOXYGEN_FLAGS) + doxygen $(DOXYGEN_FLAGS) -archive : $(ARCHIVE_SOURCES) - $(ARCHIVE) $(ARCHIVE_FLAGS) $(ARCHIVE_NAME) $^ +archive : $(ARCHIVE_NAME) +$(ARCHIVE_NAME) : $(ARCHIVE_SOURCES) + $(ARCHIVER) $(ARCHIVE_FLAGS) $@ $^ -- GitLab