diff options
| author | PikalaxALT <pikalaxalt@gmail.com> | 2020-02-13 15:28:35 -0500 |
|---|---|---|
| committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-02-13 15:28:35 -0500 |
| commit | e23ea964389bc2032f02fb4e625431be08f88481 (patch) | |
| tree | 8ea5b12d21ad0cba368cb4822f87839a51515a0a /Makefile | |
| parent | 3b2eaeedbc4c658389c7fceb93e6bbd07e8a6283 (diff) | |
Wildcard sections in ld script
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -68,6 +68,7 @@ ASM_SOURCES := $(wildcard src/*.s src/*/*.s asm/*.s data/*.s sound/*.s sound/*/ C_OBJECTS := $(addprefix $(BUILD_DIR)/, $(C_SOURCES:%.c=%.o)) ASM_OBJECTS := $(addprefix $(BUILD_DIR)/, $(ASM_SOURCES:%.s=%.o)) ALL_OBJECTS := $(C_OBJECTS) $(ASM_OBJECTS) +OBJS_REL := $(ALL_OBJECTS:$(BUILD_DIR)/%=%) SUBDIRS := $(sort $(dir $(ALL_OBJECTS))) DATA_SRC_SUBDIR = src/data @@ -83,7 +84,11 @@ LIBDIRS := \ endif LDFLAGS := $(LIBDIRS:%=-L %) -lgcc -lc +ifeq ($(MODERN),0) LD_SCRIPT := $(BUILD_DIR)/ld_script.ld +else +LD_SCRIPT := $(BUILD_DIR)/ld_script_modern.ld +endif # Special configurations required for lib files ifeq ($(MODERN),0) @@ -189,11 +194,11 @@ $(ROM): %.gba: %.elf $(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0x9000000 $< $@ %.elf: $(LD_SCRIPT) $(ALL_OBJECTS) - cd $(BUILD_DIR) && $(LD) -T ld_script.ld -Map ../../$(MAP) -o ../../$@ $(LDFLAGS) + cd $(BUILD_DIR) && $(LD) -T $(LD_SCRIPT:$(BUILD_DIR)/%=%) -Map ../../$(MAP) -o ../../$@ $(OBJS_REL) $(LDFLAGS) $(GBAFIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(GAME_REVISION) --silent -$(LD_SCRIPT): ld_script.txt $(BUILD_DIR)/sym_common.ld $(BUILD_DIR)/sym_ewram.ld $(BUILD_DIR)/sym_bss.ld - cd $(BUILD_DIR) && sed -e "s#tools/#../../tools/#g" ../../ld_script.txt >ld_script.ld +$(LD_SCRIPT): $(LD_SCRIPT:$(BUILD_DIR)/%.ld=%.txt) $(BUILD_DIR)/sym_common.ld $(BUILD_DIR)/sym_ewram.ld $(BUILD_DIR)/sym_bss.ld + sed -e "s#tools/#../../tools/#g" $< >$@ $(BUILD_DIR)/sym_%.ld: sym_%.txt $(CPP) -P $(CPPFLAGS) $< | sed -e "s#tools/#../../tools/#g" > $@ |
