TARGET := sorter SRC_DIR := ./src BUILD_DIR := ./build AS := as LD := ld ASFLAGS := -g LDFLAGS := -g SRCS := $(shell find $(SRC_DIR) -name '*.s') OBJS := $(patsubst %.s,%.o,$(SRCS:$(SRC_DIR)/%=$(BUILD_DIR)/%)) all: $(TARGET) $(TARGET): $(OBJS) $(LD) $(LDFLAGS) $(OBJS) -o $@ $(BUILD_DIR)/%.o: $(SRC_DIR)/%.s @mkdir -p $(dir $@) $(AS) $(ASFLAGS) $< -o $@ clean: rm -r $(BUILD_DIR) $(TARGET) .PHONY: all clean