CC = gcc CFLAGS += -g -Wall CPPFLAGS += -MMD LDFLAGS += -lm -lSDL2 -lSDL2_image -lreadline 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/main.c src/physics.c src/renderer.c src/ui.c src/itc.c \ src/common.c src/console.c OBJ := $(SRC:src/%.c=obj/%.o) OUT := cem all: $(OUT) -include $(OBJ:.o=.d) obj/%.o : src/%.c @echo "$(PP_CC) src/$*.c" @mkdir -p $(@D) @$(CC) $(CFLAGS) $(CPPFLAGS) -c src/$*.c -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