From 36da139565202a9a39d1e4261ab8bf950041518b Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 24 Aug 2025 23:55:22 +0900 Subject: feat: separate compilation --- Makefile | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 6eb170a..36b4825 100644 --- a/Makefile +++ b/Makefile @@ -2,13 +2,28 @@ SRC_DIR := src BUILD_DIR := build TARGET ?= ducc +OBJECTS := \ + $(BUILD_DIR)/main.o \ + $(BUILD_DIR)/ast.o \ + $(BUILD_DIR)/cli.o \ + $(BUILD_DIR)/codegen.o \ + $(BUILD_DIR)/common.o \ + $(BUILD_DIR)/io.o \ + $(BUILD_DIR)/parse.o \ + $(BUILD_DIR)/preprocess.o \ + $(BUILD_DIR)/sys.o \ + $(BUILD_DIR)/tokenize.o + .PHONY: all all: $(BUILD_DIR) $(BUILD_DIR)/$(TARGET) -$(BUILD_DIR)/$(TARGET): main.c - $(CC) -MD -g -O0 -o $@ $< +$(BUILD_DIR)/$(TARGET): $(OBJECTS) + $(CC) -MD -g -O0 -o $@ $^ $(BUILD_DIR): @mkdir -p $(BUILD_DIR) +$(BUILD_DIR)/%.o: src/%.c + $(CC) -c -MD -g -O0 -o $@ $< + -include $(BUILD_DIR)/*.d -- cgit v1.2.3-70-g09d2