CC ?= gcc CFLAGS += -O3 -Wall CPPFLAGS += -MMD LDFLAGS += -lm 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/bigtab.c \ src/main.c \ src/new.c \ src/new32.c \ src/null.c \ src/ref.c OBJ := $(SRC:src/%.c=obj/%.o) OUT := division-golf 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