diff options
| author | Aetias <aetias@outlook.com> | 2024-06-20 18:47:12 +0200 |
|---|---|---|
| committer | Aetias <aetias@outlook.com> | 2024-06-20 18:47:12 +0200 |
| commit | fa44ec1ca44569869e67cc3559a1b1658bf0de78 (patch) | |
| tree | 42e81e9e44560ed967cbd38bba87fd382eb185a8 | |
| parent | 536e7af2cbd9edd54abde545c1e86e6ff304fc8b (diff) | |
Build context files alongside objects
| -rw-r--r-- | Makefile | 20 |
1 files changed, 13 insertions, 7 deletions
@@ -27,11 +27,13 @@ ASSETS_TXT := assets.txt ASM_FILES := $(shell find asm -name *.s) CXX_FILES := $(shell find src -name *.cpp) $(shell find libs -name *.cpp) -C_FILES := $(shell find src -name *.c) $(shell find libs -name *.c) -ASM_OBJS = $(ASM_FILES:%.s=$(TARGET_DIR)/%.s.o) -ASM_INCS = $(ASM_FILES:%.s=%.inc) -CXX_OBJS = $(CXX_FILES:%.cpp=$(TARGET_DIR)/%.cpp.o) -C_OBJS = $(C_FILES:%.c=$(TARGET_DIR)/%.c.o) +C_FILES := $(shell find src -name *.c) $(shell find libs -name *.c) +ASM_OBJS = $(ASM_FILES:%.s=$(TARGET_DIR)/%.s.o) +ASM_INCS = $(ASM_FILES:%.s=%.inc) +CXX_OBJS = $(CXX_FILES:%.cpp=$(TARGET_DIR)/%.cpp.o) +C_OBJS = $(C_FILES:%.c=$(TARGET_DIR)/%.c.o) +CXX_CTXS = $(CXX_FILES:%.cpp=$(TARGET_DIR)/%.cpp.ctx) +C_CTXS = $(C_FILES:%.c=$(TARGET_DIR)/%.c.ctx) OV_BINS := $(wildcard $(TARGET_DIR)/overlays/*.bin) OV_LZS = $(OV_BINS:%.bin=%.lz) @@ -124,16 +126,20 @@ $(ASM_OBJS): $(TARGET_DIR)/%.o: % mkdir -p $(dir $@) LM_LICENSE_FILE=$(MW_LICENSE) $(WINE) $(MW_ASM) $(ASM_FLAGS) $< -o $@ -$(CXX_OBJS): $(TARGET_DIR)/%.o: % +$(CXX_OBJS): $(TARGET_DIR)/%.o: % $(TARGET_DIR)/%.ctx mkdir -p $(dir $@) LM_LICENSE_FILE=$(MW_LICENSE) $(WINE) $(MW_CC) $(CC_FLAGS) $(CXX_FLAGS) $< -o $@ $(TOOLS_DIR)/elf/elfkill -s $< -e $@ -$(C_OBJS): $(TARGET_DIR)/%.o: % +$(C_OBJS): $(TARGET_DIR)/%.o: % $(TARGET_DIR)/%.ctx mkdir -p $(dir $@) LM_LICENSE_FILE=$(MW_LICENSE) $(WINE) $(MW_CC) $(CC_FLAGS) $(C_FLAGS) $< -o $@ $(TOOLS_DIR)/elf/elfkill -s $< -e $@ +$(CXX_CTXS) $(C_CTXS): $(TARGET_DIR)/%.ctx: % + mkdir -p $(dir $@) + $(PYTHON) $(TOOLS_DIR)/m2ctx.py -f $@ $< + .PHONY: link link: lcf $(ASM_OBJS) $(CXX_OBJS) $(C_OBJS) cd $(TARGET_DIR) && LM_LICENSE_FILE=$(MW_LICENSE) $(WINE) $(MW_LD) $(LD_FLAGS) $(LCF_FILE) @$(OBJS_FILE) |
