Modified Makefile to do everything required to build the final compressed rom
This commit is contained in:
48
Makefile
48
Makefile
@@ -110,9 +110,11 @@ C_DEPS := $(C_OBJS:.o=.d)
|
|||||||
ASM_OBJS := $(addprefix $(BUILD_DIR)/,$(ALL_ASM_SRCS:.s=.s.o) $(NEW_ASM_SRCS:.s=.s.o))
|
ASM_OBJS := $(addprefix $(BUILD_DIR)/,$(ALL_ASM_SRCS:.s=.s.o) $(NEW_ASM_SRCS:.s=.s.o))
|
||||||
BOOT_ASM_OBJS := $(addprefix $(BUILD_DIR)/,$(BOOT_ASM_SRCS:.s=.s.o))
|
BOOT_ASM_OBJS := $(addprefix $(BUILD_DIR)/,$(BOOT_ASM_SRCS:.s=.s.o))
|
||||||
BIN_OBJS := $(addprefix $(BUILD_DIR)/,$(ALL_BINS:.bin=.bin.o) $(NEW_BINS:.bin=.bin.o))
|
BIN_OBJS := $(addprefix $(BUILD_DIR)/,$(ALL_BINS:.bin=.bin.o) $(NEW_BINS:.bin=.bin.o))
|
||||||
Z64 := $(addprefix $(BUILD_DIR)/,$(BASENAME).$(VERSION).uncompressed.z64)
|
PRELIM_Z64 := $(addprefix $(BUILD_DIR)/,$(BASENAME).$(VERSION).prelim.z64)
|
||||||
|
PRELIM_ELF := $(PRELIM_Z64:.z64=.elf)
|
||||||
|
UNCOMPRESSED_Z64 := $(addprefix $(BUILD_DIR)/,$(BASENAME).$(VERSION).uncompressed.z64)
|
||||||
FINAL_Z64 := $(addprefix $(BUILD_DIR)/,$(BASENAME).$(VERSION).z64)
|
FINAL_Z64 := $(addprefix $(BUILD_DIR)/,$(BASENAME).$(VERSION).z64)
|
||||||
ELF := $(Z64:.z64=.elf)
|
ELF := $(FINAL_Z64:.z64=.elf)
|
||||||
LD_SCRIPT := $(BASENAME).ld
|
LD_SCRIPT := $(BASENAME).ld
|
||||||
BK_BOOT_LD_SCRIPT := bk_boot.ld
|
BK_BOOT_LD_SCRIPT := bk_boot.ld
|
||||||
ASSET_BIN := $(BUILD_DIR)/assets.bin
|
ASSET_BIN := $(BUILD_DIR)/assets.bin
|
||||||
@@ -245,7 +247,7 @@ $(BUILD_DIR)/%.s.o: %.s | $(ASM_BUILD_DIRS)
|
|||||||
$(BOOT_ASM_OBJS) : $(BUILD_DIR)/%.s.o : %.s | $(ASM_BUILD_DIRS)
|
$(BOOT_ASM_OBJS) : $(BUILD_DIR)/%.s.o : %.s | $(ASM_BUILD_DIRS)
|
||||||
$(call print2,Assembling:,$<,$@)
|
$(call print2,Assembling:,$<,$@)
|
||||||
@$(GCC) $(GCC_ASFLAGS) $(INCLUDE_CFLAGS) -o $@ $<
|
@$(GCC) $(GCC_ASFLAGS) $(INCLUDE_CFLAGS) -o $@ $<
|
||||||
$(OBJCOPY) --prefix-symbols=boot_ $@
|
@$(OBJCOPY) --prefix-symbols=boot_ $@
|
||||||
|
|
||||||
# .bin -> .o
|
# .bin -> .o
|
||||||
$(BIN_OBJS) : $(BUILD_DIR)/%.bin.o : %.bin | $(BIN_BUILD_DIRS)
|
$(BIN_OBJS) : $(BUILD_DIR)/%.bin.o : %.bin | $(BIN_BUILD_DIRS)
|
||||||
@@ -337,11 +339,6 @@ $(ASSET_OBJS): $(ASSET_BIN)
|
|||||||
$(call print2,Objcopying:,$<,$@)
|
$(call print2,Objcopying:,$<,$@)
|
||||||
@$(OBJCOPY) $(BINOFLAGS) $< $@
|
@$(OBJCOPY) $(BINOFLAGS) $< $@
|
||||||
|
|
||||||
# .o -> .elf (game)
|
|
||||||
$(ELF): $(ALL_OBJS) $(LD_SCRIPT) $(ASSET_OBJS)
|
|
||||||
$(call print1,Linking elf:,$@)
|
|
||||||
@$(LD) $(LDFLAGS) -T undefined_syms_auto.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T rzip_dummy_addrs.txt -o $@
|
|
||||||
|
|
||||||
$(BK_BOOT_LD_SCRIPT): $(LD_SCRIPT)
|
$(BK_BOOT_LD_SCRIPT): $(LD_SCRIPT)
|
||||||
sed 's|$(CRC_OBJS)|$(DUMMY_CRC_OBJ)|' $< > $@
|
sed 's|$(CRC_OBJS)|$(DUMMY_CRC_OBJ)|' $< > $@
|
||||||
|
|
||||||
@@ -354,22 +351,33 @@ $(BUILD_DIR)/bk_boot.elf: $(DUMMY_CRC_OBJ) $(filter-out $(CRC_OBJS),$(MAIN_ALL_O
|
|||||||
$(DECOMPRESSED_BASEROM): $(BASEROM) $(BK_ROM_DECOMPRESS)
|
$(DECOMPRESSED_BASEROM): $(BASEROM) $(BK_ROM_DECOMPRESS)
|
||||||
@$(BK_ROM_DECOMPRESS) $< $@
|
@$(BK_ROM_DECOMPRESS) $< $@
|
||||||
|
|
||||||
# generate compressed ROM symbols
|
# .o -> .elf (dummy symbols)
|
||||||
$(COMPRESSED_SYMBOLS): $(ELF) $(Z64) $(BK_ROM_COMPRESS)
|
$(PRELIM_ELF): $(ALL_OBJS) $(LD_SCRIPT) $(ASSET_OBJS)
|
||||||
@$(BK_ROM_COMPRESS) --symbols $(ELF) $(Z64) $@
|
$(call print1,Linking elf:,$@)
|
||||||
|
@$(LD) $(LDFLAGS) -T undefined_syms_auto.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T rzip_dummy_addrs.txt -T emptyLvl_dummy_addrs.txt -o $@
|
||||||
|
|
||||||
# compress ROM
|
# .elf -> .z64 (dummy symbols)
|
||||||
$(FINAL_Z64) : $(ELF) $(Z64) $(BK_ROM_COMPRESS)
|
$(PRELIM_Z64) : $(PRELIM_ELF)
|
||||||
@$(BK_ROM_COMPRESS) $(ELF) $(Z64) $@
|
|
||||||
|
|
||||||
# .elf -> .z64
|
|
||||||
$(Z64) : $(ELF)
|
|
||||||
#$(OVERLAY_PROG_SVGS) $(MAIN_PROG_SVG) $(TOTAL_PROG_SVG) $(README_MD)
|
|
||||||
$(call print1,Creating z64:,$@)
|
$(call print1,Creating z64:,$@)
|
||||||
@$(OBJCOPY) $< $@ -O binary $(OCOPYFLAGS)
|
@$(OBJCOPY) $< $@ -O binary $(OCOPYFLAGS)
|
||||||
|
|
||||||
$(COMPRESSED_Z64) : $(Z64) $(ELF) $(BK_ROM_COMPRESS)
|
# generate compressed ROM symbols
|
||||||
$(BK_ROM_COMPRESS) --version $(VERSION) --symbols
|
$(COMPRESSED_SYMBOLS): $(PRELIM_ELF) $(PRELIM_Z64) $(BK_ROM_COMPRESS)
|
||||||
|
@$(BK_ROM_COMPRESS) --symbols $(PRELIM_ELF) $(PRELIM_Z64) $@
|
||||||
|
|
||||||
|
# .o -> .elf (game)
|
||||||
|
$(ELF): $(ALL_OBJS) $(LD_SCRIPT) $(ASSET_OBJS) $(COMPRESSED_SYMBOLS)
|
||||||
|
$(call print1,Linking elf:,$@)
|
||||||
|
@$(LD) $(LDFLAGS) -T undefined_syms_auto.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T $(COMPRESSED_SYMBOLS) -T emptyLvl_dummy_addrs.txt -o $@
|
||||||
|
|
||||||
|
# .elf -> .z64 (uncompressed)
|
||||||
|
$(UNCOMPRESSED_Z64) : $(ELF)
|
||||||
|
$(call print1,Creating z64:,$@)
|
||||||
|
@$(OBJCOPY) $< $@ -O binary $(OCOPYFLAGS)
|
||||||
|
|
||||||
|
# .z64 (uncompressed) + .elf -> .z64 (final)
|
||||||
|
$(FINAL_Z64) : $(UNCOMPRESSED_Z64) $(ELF) $(BK_ROM_COMPRESS)
|
||||||
|
@$(BK_ROM_COMPRESS) $(ELF) $(UNCOMPRESSED_Z64) $@
|
||||||
|
|
||||||
$(BK_TOOLS)/gzip-1.2.4/gzip: $(BK_TOOLS)/gzip-1.2.4/Makefile
|
$(BK_TOOLS)/gzip-1.2.4/gzip: $(BK_TOOLS)/gzip-1.2.4/Makefile
|
||||||
@$(CD) $(BK_TOOLS)/gzip-1.2.4 && $(MAKE) gzip
|
@$(CD) $(BK_TOOLS)/gzip-1.2.4 && $(MAKE) gzip
|
||||||
|
32
emptyLvl_dummy_addrs.txt
Normal file
32
emptyLvl_dummy_addrs.txt
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
boot_core1_us_v10_rzip_ROM_START = 0xF19250;
|
||||||
|
boot_core1_us_v10_rzip_ROM_END = 0xF37F90;
|
||||||
|
boot_core2_us_v10_rzip_ROM_START = 0xF37F90;
|
||||||
|
boot_core2_us_v10_rzip_ROM_END = 0xFA3FD0;
|
||||||
|
boot_CC_us_v10_rzip_ROM_START = 0xFA3FD0;
|
||||||
|
boot_CC_us_v10_rzip_ROM_END = 0xFA5F50;
|
||||||
|
boot_MMM_us_v10_rzip_ROM_START = 0xFA5F50;
|
||||||
|
boot_MMM_us_v10_rzip_ROM_END = 0xFA9150;
|
||||||
|
boot_GV_us_v10_rzip_ROM_START = 0xFA9150;
|
||||||
|
boot_GV_us_v10_rzip_ROM_END = 0xFAE860;
|
||||||
|
boot_TTC_us_v10_rzip_ROM_START = 0xFAE860;
|
||||||
|
boot_TTC_us_v10_rzip_ROM_END = 0xFB24A0;
|
||||||
|
boot_MM_us_v10_rzip_ROM_START = 0xFB24A0;
|
||||||
|
boot_MM_us_v10_rzip_ROM_END = 0xFB44E0;
|
||||||
|
boot_BGS_us_v10_rzip_ROM_START = 0xFB44E0;
|
||||||
|
boot_BGS_us_v10_rzip_ROM_END = 0xFB9A30;
|
||||||
|
boot_RBB_us_v10_rzip_ROM_START = 0xFB9A30;
|
||||||
|
boot_RBB_us_v10_rzip_ROM_END = 0xFBEBE0;
|
||||||
|
boot_FP_us_v10_rzip_ROM_START = 0xFBEBE0;
|
||||||
|
boot_FP_us_v10_rzip_ROM_END = 0xFC4810;
|
||||||
|
boot_CCW_us_v10_rzip_ROM_START = 0xFD6190;
|
||||||
|
boot_CCW_us_v10_rzip_ROM_END = 0xFDAA10;
|
||||||
|
boot_SM_us_v10_rzip_ROM_START = 0xFC4810;
|
||||||
|
boot_SM_us_v10_rzip_ROM_END = 0xFC6F20;
|
||||||
|
boot_cutscenes_us_v10_rzip_ROM_START = 0xFC6F20;
|
||||||
|
boot_cutscenes_us_v10_rzip_ROM_END = 0xFC9150;
|
||||||
|
boot_lair_us_v10_rzip_ROM_START = 0xFC9150;
|
||||||
|
boot_lair_us_v10_rzip_ROM_END = 0xFD0420;
|
||||||
|
boot_fight_us_v10_rzip_ROM_START = 0xFD0420;
|
||||||
|
boot_fight_us_v10_rzip_ROM_END = 0xFD6190;
|
||||||
|
boot_emptyLvl_us_v10_rzip_ROM_START = 0xFDAA10;
|
||||||
|
boot_emptyLvl_us_v10_rzip_ROM_END = 0xFDAA30;
|
@@ -28,5 +28,3 @@ boot_lair_us_v10_rzip_ROM_START = 0xFC9150;
|
|||||||
boot_lair_us_v10_rzip_ROM_END = 0xFD0420;
|
boot_lair_us_v10_rzip_ROM_END = 0xFD0420;
|
||||||
boot_fight_us_v10_rzip_ROM_START = 0xFD0420;
|
boot_fight_us_v10_rzip_ROM_START = 0xFD0420;
|
||||||
boot_fight_us_v10_rzip_ROM_END = 0xFD6190;
|
boot_fight_us_v10_rzip_ROM_END = 0xFD6190;
|
||||||
boot_emptyLvl_us_v10_rzip_ROM_START = 0xFDAA10;
|
|
||||||
boot_emptyLvl_us_v10_rzip_ROM_END = 0xFDAA30;
|
|
||||||
|
Reference in New Issue
Block a user