diff --git a/MAKEFILE b/MAKEFILE index afc5d8a..662402b 100644 --- a/MAKEFILE +++ b/MAKEFILE @@ -1,10 +1,9 @@ -TARGET_EXEC ?= a.out -BUILD_DIR ?= ./build +TARGET ?= a.out SRC_DIRS ?= ./src SRCS := $(shell find $(SRC_DIRS) -name *.cpp -or -name *.c -or -name *.s) -OBJS := $(SRCS:%=$(BUILD_DIR)/%.o) +OBJS := $(addsuffix .o,$(basename $(SRCS))) DEPS := $(OBJS:.o=.d) INC_DIRS := $(shell find $(SRC_DIRS) -type d) @@ -12,30 +11,11 @@ INC_FLAGS := $(addprefix -I,$(INC_DIRS)) CPPFLAGS ?= $(INC_FLAGS) -MMD -MP -$(BUILD_DIR)/$(TARGET_EXEC): $(OBJS) - $(CC) $(OBJS) -o $@ $(LDFLAGS) - -# assembly -$(BUILD_DIR)/%.s.o: %.s - $(MKDIR_P) $(dir $@) - $(AS) $(ASFLAGS) -c $< -o $@ - -# c source -$(BUILD_DIR)/%.c.o: %.c - $(MKDIR_P) $(dir $@) - $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ - -# c++ source -$(BUILD_DIR)/%.cpp.o: %.cpp - $(MKDIR_P) $(dir $@) - $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ - +$(TARGET): $(OBJS) + $(CC) $(LDFLAGS) $(OBJS) -o $@ $(LOADLIBES) $(LDLIBS) .PHONY: clean - clean: - $(RM) -r $(BUILD_DIR) + $(RM) $(TARGET) $(OBJS) $(DEPS) -include $(DEPS) - -MKDIR_P ?= mkdir -p