BUILD_DIR = ./build SRC_DIR = ./src SRCS = $(shell find $(SRC_DIR) -name '*.c') OBJS = $(SRCS:%=$(BUILD_DIR)/%.o) DEPS = $(OBJS:.o=.d) INC_FLAGS := $(addprefix -I,$(SRC_DIR)) CPPFLAGS := $(INC_FLAGS) -MMD -MP all: bindiff bindiff: $(OBJS) $(CC) $(CFLAGS) -o $@ $(OBJS) $(BUILD_DIR)/%.c.o: %.c mkdir -p $(dir $@) $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $< .PHONY: clean clean: rm -r $(BUILD_DIR) bindiff -include $(DEPS)