Skip to content
Snippets Groups Projects
Commit b6372af7 authored by ERKEN EFE's avatar ERKEN EFE
Browse files

:bug: BUGFIX: Enhance and fix makefile

Fixed makefile for compilation, updated ignore list for dependencies.
parent 6bfcfb78
Branches
Tags
No related merge requests found
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
*.s *.s
*.a *.a
*.d *.d
*.Td
*.lib *.lib
*.so *.so
*.dylib *.dylib
......
...@@ -4,9 +4,12 @@ CPPFLAGS = -I include ...@@ -4,9 +4,12 @@ CPPFLAGS = -I include
CFLAGS = -Wall -Wextra -g CFLAGS = -Wall -Wextra -g
LDFLAGS = LDFLAGS =
LDLIBS = -lncurses LDLIBS = -lncurses
DEPFLAGS = -MT $@ -MMD -MP -MF $(DPATH)$*.Td
POSTCOMPILE = mv -f $(DPATH)$*.Td $(DPATH)$*.d && touch $@
SPATH = src/ SPATH = src/
HPATH = include/ HPATH = include/
OPATH = obj/ OPATH = obj/
DPATH = dep/
LEVELPATH = levels/ LEVELPATH = levels/
ALL_SOURCES = $(wildcard $(SPATH)*.c) ALL_SOURCES = $(wildcard $(SPATH)*.c)
TEST_SOURCES = $(filter-out $(SPATH)main.c, $(ALL_SOURCES)) TEST_SOURCES = $(filter-out $(SPATH)main.c, $(ALL_SOURCES))
...@@ -15,6 +18,7 @@ HEADERS = $(wildcard $(HPATH)*.h) ...@@ -15,6 +18,7 @@ HEADERS = $(wildcard $(HPATH)*.h)
ALL_OBJECTS = $(addprefix $(OPATH),$(patsubst %.c,%.o,$(notdir $(ALL_SOURCES)))) ALL_OBJECTS = $(addprefix $(OPATH),$(patsubst %.c,%.o,$(notdir $(ALL_SOURCES))))
TEST_OBJECTS = $(addprefix $(OPATH),$(patsubst %.c,%.o,$(notdir $(TEST_SOURCES)))) TEST_OBJECTS = $(addprefix $(OPATH),$(patsubst %.c,%.o,$(notdir $(TEST_SOURCES))))
OBJECTS = $(addprefix $(OPATH),$(patsubst %.c,%.o,$(notdir $(SOURCES)))) OBJECTS = $(addprefix $(OPATH),$(patsubst %.c,%.o,$(notdir $(SOURCES))))
ALL_DEPENDS = $(addprefix $(DPATH),$(patsubst %.c,%.d,$(notdir $(ALL_SOURCES))))
LEVELS = $(wildcard $(LEVELPATH)level*.txt) LEVELS = $(wildcard $(LEVELPATH)level*.txt)
DOCGEN = doxygen DOCGEN = doxygen
DOXYFILE = doc/Doxyfile DOXYFILE = doc/Doxyfile
...@@ -37,15 +41,23 @@ $(EXEC) : $(OBJECTS) ...@@ -37,15 +41,23 @@ $(EXEC) : $(OBJECTS)
$(TEST_EXEC) : $(TEST_OBJECTS) $(TEST_EXEC) : $(TEST_OBJECTS)
$(CC) $(CFLAGS) -o $@ $^ $(LDLIBS) $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS)
$(OPATH)%.o : $(SPATH)%.c $(HPATH)%.h | $(OPATH) $(OPATH)%.o : $(SPATH)%.c $(DPATH)%.d | $(OPATH) $(DPATH)
@echo "-o $@ -c $^" $(CC) $(DEPFLAGS) $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $< @$(POSTCOMPILE)
$(OPATH) : $(OPATH) :
mkdir -p $@ mkdir -p $@
$(DPATH) :
mkdir -p $@
$(ALL_DEPENDS) :
# include $(wildcard $(ALL_DEPENDS))
-include $(ALL_DEPENDS)
clean : clean :
rm -f $(EXEC) $(TEST_EXEC) $(ALL_OBJECTS) rm -f $(EXEC) $(TEST_EXEC) $(ALL_OBJECTS) $(ALL_DEPENDS)
doc : doc :
$(DOCGEN) $(DOXYFILE) $(DOCGEN) $(DOXYFILE)
...@@ -55,12 +67,3 @@ archive : $(ARCHIVE_NAME) ...@@ -55,12 +67,3 @@ archive : $(ARCHIVE_NAME)
$(ARCHIVE_NAME) : $(ARCHIVE_SOURCES) $(ARCHIVE_NAME) : $(ARCHIVE_SOURCES)
$(ARCHIVER) $(ARCHIVE_FLAGS) $@ $^ $(ARCHIVER) $(ARCHIVE_FLAGS) $@ $^
echo :
@echo "All_SOURCES = $(ALL_SOURCES)"
@echo "TEST_SOURCES = $(TEST_SOURCES)"
@echo "SOURCES = $(SOURCES)"
@echo "HEADERS = $(HEADERS)"
@echo "All_OBJECTS = $(ALL_OBJECTS)"
@echo "TEST_OBJECTS = $(TEST_OBJECTS)"
@echo "OBJECTS = $(OBJECTS)"
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment