CC ?= gcc CFLAGS += -g3 -O0 -Wall -std=gnu++11 CPPFLAGS += -MMD LDFLAGS += -lstdc++ -lm -lsfml-system -lsfml-window -lsfml-graphics PP_BOLD := $(shell tput bold) PP_RESET := $(shell tput sgr0) PP_CC := $(PP_BOLD)$(shell tput setf 6)CC$(PP_RESET) PP_LD := $(PP_BOLD)$(shell tput setf 2)LD$(PP_RESET) PP_RM := $(PP_BOLD)$(shell tput setf 4)RM$(PP_RESET) SRC := src/assets.cpp \ src/game.cpp \ src/interface.cpp \ src/main.cpp \ src/path_finder.cpp \ src/procgen.cpp \ src/render.cpp \ src/text.cpp \ src/world.cpp OBJ := $(SRC:src/%.cpp=obj/%.o) OUT := minitrem all: $(OUT) -include $(OBJ:.o=.d) obj/%.o : src/%.cpp @echo "$(PP_CC) src/$*.cpp" @mkdir -p $(@D) @$(CC) $(CFLAGS) $(CPPFLAGS) -c src/$*.cpp -o obj/$*.o $(OUT): $(OBJ) @echo "$(PP_LD) $(OUT)" @$(CC) $(OBJ) -o $(OUT) $(LDFLAGS) clean: @echo "${PP_RM} obj" @rm -rf obj @echo "${PP_RM} ${OUT}" @rm -rf ${OUT} .PHONY: clean