diff --git a/Makefile b/Makefile index 3777cea..5fc3a7a 100644 --- a/Makefile +++ b/Makefile @@ -25,9 +25,10 @@ BUILD_DIR = build SRC_FILES := $(wildcard $(SRC_DIR)/*.c) PREP_FILES := $(patsubst $(SRC_DIR)/%.c,$(BUILD_DIR)/%.i,$(SRC_FILES)) ASM_FILES := $(patsubst $(BUILD_DIR)/%.i,$(BUILD_DIR)/%.S,$(PREP_FILES)) +OBJ_FILES := $(patsubst $(BUILD_DIR)/%.S,$(BUILD_DIR)/%.o,$(ASM_FILES)) .PHONY: build -build: builddir preprocess compile +build: builddir preprocess compile assemble $(BUILD_DIR)/%.i: $(SRC_DIR)/%.c $(CC) $(CFLAGS) -E $^ -o $@ @@ -35,6 +36,9 @@ $(BUILD_DIR)/%.i: $(SRC_DIR)/%.c $(BUILD_DIR)/%.S: $(BUILD_DIR)/%.i $(CC) $(CFLAGS) -S $^ -o $@ +$(BUILD_DIR)/%.o: $(BUILD_DIR)/%.S + $(CC) $(CFLAGS) -c $^ -o $@ + .PHONY: builddir builddir: mkdir $(BUILD_DIR) @@ -45,6 +49,9 @@ preprocess: $(PREP_FILES) .PHONY: compile compile: preprocess $(ASM_FILES) +.PHONY: assemble +assemble: compile $(OBJ_FILES) + .PHONY: clean clean: rm -rf $(BUILD_DIR) diff --git a/build/main.o b/build/main.o new file mode 100644 index 0000000..9bc5058 Binary files /dev/null and b/build/main.o differ