diff options
author | YamaArashi <shadow962@live.com> | 2016-09-22 22:46:42 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-09-22 23:18:40 -0700 |
commit | b62873878ba04fdc10c9a18ad43b9a6585a024a0 (patch) | |
tree | c51e1ce7a604f571f76726c03135a139d2a4b5e6 | |
parent | 775e8544b3acffa3e95932cef723d0a72f26e22d (diff) |
build Ruby/Sapphire separately
-rw-r--r-- | Makefile | 133 | ||||
-rwxr-xr-x | compare.sh | 30 | ||||
-rw-r--r-- | ruby.sha1 | 1 | ||||
-rw-r--r-- | ruby_rev1.sha1 | 1 | ||||
-rw-r--r-- | ruby_rev2.sha1 | 1 | ||||
-rw-r--r-- | sapphire.sha1 (renamed from rom.sha1) | 1 | ||||
-rw-r--r-- | sapphire_rev1.sha1 (renamed from rom_rev1.sha1) | 1 | ||||
-rw-r--r-- | sapphire_rev2.sha1 (renamed from rom_rev2.sha1) | 1 |
8 files changed, 94 insertions, 75 deletions
@@ -1,3 +1,5 @@ +SHELL := /bin/bash -o pipefail + AS := $(DEVKITARM)/bin/arm-none-eabi-as ASFLAGS := -mcpu=arm7tdmi @@ -8,8 +10,7 @@ CPP := $(DEVKITARM)/bin/arm-none-eabi-cpp CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef LD := $(DEVKITARM)/bin/arm-none-eabi-ld -pokeruby_LDFLAGS := -T ld_script_ruby.txt -T iwram_syms.txt -T ewram_syms.txt -Map pokeruby.map -pokesapphire_LDFLAGS := -T ld_script_sapphire.txt -T iwram_syms.txt -T ewram_syms.txt -Map pokesapphire.map +LDFLAGS := -T ld_script.txt -T iwram_syms.txt -T ewram_syms.txt OBJCOPY := $(DEVKITARM)/bin/arm-none-eabi-objcopy @@ -35,9 +36,11 @@ REVISION := 0 .PRECIOUS: %.1bpp %.4bpp %.8bpp %.gbapal %.lz %.rl %.pcm %.bin -.PHONY: all clean tidy compare ruby sapphire \ -rev1 ruby_rev1 sapphire_rev1 compare_rev1 \ -rev2 ruby_rev2 sapphire_rev2 compare_rev2 +.PHONY: all clean tidy \ +ruby ruby_rev1 ruby_rev2 \ +compare_ruby compare_ruby_rev1 compare_ruby_rev2 \ +sapphire sapphire_rev1 sapphire_rev2 \ +compare_sapphire compare_sapphire_rev1 compare_sapphire_rev2 C_SRCS := $(wildcard src/*.c) C_OBJS := $(C_SRCS:%.c=%.o) @@ -54,22 +57,17 @@ data/battle_ai_scripts.o data/contest_ai_scripts.o data/script_funcs.o SONG_SRCS := $(wildcard sound/songs/*.s) SONG_OBJS := $(SONG_SRCS:%.s=%.o) -OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) -pokeruby_OBJS := $(OBJS:.o=_ruby.o) -pokesapphire_OBJS := $(OBJS:.o=_sapphire.o) - -ROM := pokeruby.gba pokesapphire.gba -ELF := $(ROM:.gba=.elf) +OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) -all: ruby sapphire +all: ruby @: + +ruby: VERSION := RUBY ruby: pokeruby.gba @: -sapphire: pokesapphire.gba - @: -rev1: REVISION := 1 -rev1: all +sapphire: VERSION := SAPPHIRE +sapphire: pokesapphire.gba @: ruby_rev1: REVISION := 1 @@ -80,10 +78,6 @@ sapphire_rev1: REVISION := 1 sapphire_rev1: sapphire @: -rev2: REVISION := 2 -rev2: all - @: - ruby_rev2: REVISION := 2 ruby_rev2: ruby @: @@ -94,22 +88,37 @@ sapphire_rev2: sapphire # For contributors to make sure a change didn't affect the contents of the ROM. -compare: all - @$(SHA1) rom.sha1 +compare: compare_ruby + +compare_ruby: ruby + @$(SHA1) ruby.sha1 + +compare_sapphire: sapphire + @$(SHA1) sapphire.sha1 + +compare_ruby_rev1: ruby_rev1 + @$(SHA1) ruby_rev1.sha1 -compare_rev1: rev1 - @$(SHA1) rom_rev1.sha1 +compare_sapphire_rev1: sapphire_rev1 + @$(SHA1) sapphire_rev1.sha1 -compare_rev2: rev2 - @$(SHA1) rom_rev2.sha1 +compare_ruby_rev2: ruby_rev2 + @$(SHA1) ruby_rev2.sha1 -clean: - rm -f $(ROM) $(ELF) $(OBJS) $(pokeruby_OBJS) $(pokesapphire_OBJS) $(C_SRCS:%.c=%.i) pokeruby.map pokesapphire.map +compare_sapphire_rev2: sapphire_rev2 + @$(SHA1) sapphire_rev2.sha1 + +clean: tidy rm -f sound/programmable_wave_samples/*.bin sound/direct_sound_samples/*.bin sound/**/*.pcm find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.rl' \) -exec rm {} + tidy: - rm -f $(ROM) $(ELF) $(OBJS) $(pokeruby_OBJS) $(pokesapphire_OBJS) $(C_SRCS:%.c=%.i) pokeruby.map pokesapphire.map ld_script_ruby.txt ld_script_sapphire.txt + rm -f pokeruby.gba pokesapphire.gba + rm -f pokeruby.elf pokesapphire.elf + rm -f pokeruby.map pokesapphire.map + rm -f $(OBJS) + rm -f $(C_SRCS:%.c=%.i) + rm -f $(C_SRCS:%.c=%.s) include castform.mk include tilesets.mk @@ -131,60 +140,40 @@ include misc.mk %.pcm: %.aif ; $(AIF) $< $@ %.bin: %.aif ; $(AIF) $< $@ -src/libc_ruby.o src/libc_sapphire.o: CC1 := tools/agbcc/bin/old_agbcc -src/libc_ruby.o src/libc_sapphire.o: CFLAGS := -O2 - -src/siirtc_ruby.o src/siirtc_sapphire.o: CFLAGS := -mthumb-interwork +src/libc.o: CC1 := tools/agbcc/bin/old_agbcc +src/libc.o: CFLAGS := -O2 -src/agb_flash_ruby.o src/agb_flash_sapphire.o: CFLAGS := -O -mthumb-interwork -src/agb_flash_1m_ruby.o src/agb_flash_1m_sapphire.o: CFLAGS := -O -mthumb-interwork -src/agb_flash_mx_ruby.o src/agb_flash_mx_sapphire.o: CFLAGS := -O -mthumb-interwork +src/siirtc.o: CFLAGS := -mthumb-interwork -src/m4a_2_ruby.o src/m4a_2_sapphire.o: CC1 := tools/agbcc/bin/old_agbcc -src/m4a_4_ruby.o src/m4a_4_sapphire.o: CC1 := tools/agbcc/bin/old_agbcc +src/agb_flash.o: CFLAGS := -O -mthumb-interwork +src/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork +src/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork -src/text_ruby.o src/text_sapphire.o: src/text.c $(GEN_FONT_HEADERS) -src/link_ruby.o src/link_sapphire.o: src/link.c $(GEN_LINK_HEADERS) +src/m4a_2.o: CC1 := tools/agbcc/bin/old_agbcc +src/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc -src/%_ruby.o: src/%.c - @$(CPP) $(CPPFLAGS) -D RUBY -D REVISION=$(REVISION) $< -o src/$*_ruby.i - @$(PREPROC) src/$*_ruby.i charmap.txt | $(CC1) $(CFLAGS) -o src/$*_ruby.s - @printf ".text\n\t.align\t2, 0\n" >> src/$*_ruby.s - $(AS) $(ASFLAGS) -o $@ src/$*_ruby.s -src/%_sapphire.o: src/%.c - @$(CPP) $(CPPFLAGS) -D SAPPHIRE -D REVISION=$(REVISION) $< -o src/$*_sapphire.i - @$(PREPROC) src/$*_sapphire.i charmap.txt | $(CC1) $(CFLAGS) -o src/$*_sapphire.s - @printf ".text\n\t.align\t2, 0\n" >> src/$*_sapphire.s - $(AS) $(ASFLAGS) -o $@ src/$*_sapphire.s +src/text.o: src/text.c $(GEN_FONT_HEADERS) +src/link.o: src/link.c $(GEN_LINK_HEADERS) -asm/%_ruby.o: dep = $(shell $(SCANINC) asm/$*.s) -asm/%_sapphire.o: dep = $(shell $(SCANINC) asm/$*.s) +$(C_OBJS): %.o : %.c + @$(CPP) $(CPPFLAGS) -D $(VERSION) -D REVISION=$(REVISION) $< -o $*.i + @$(PREPROC) $*.i charmap.txt | $(CC1) $(CFLAGS) -o $*.s + @printf ".text\n\t.align\t2, 0\n" >> $*.s + $(AS) $(ASFLAGS) -o $@ $*.s -asm/%_ruby.o: asm/%.s $$(dep) - $(AS) $(ASFLAGS) --defsym RUBY=1 --defsym REVISION=$(REVISION) -o $@ $< -asm/%_sapphire.o: asm/%.s $$(dep) - $(AS) $(ASFLAGS) --defsym SAPPHIRE=1 --defsym REVISION=$(REVISION) -o $@ $< +%.o: dep = $(shell $(SCANINC) $*.s) -data/%_ruby.o: dep = $(shell $(SCANINC) data/$*.s) -data/%_sapphire.o: dep = $(shell $(SCANINC) data/$*.s) +$(ASM_OBJS): %.o: %.s $$(dep) + $(AS) $(ASFLAGS) --defsym $(VERSION)=1 --defsym REVISION=$(REVISION) -o $@ $< -data/%_ruby.o: data/%.s $$(dep) - $(PREPROC) $< charmap.txt | $(AS) $(ASFLAGS) --defsym RUBY=1 --defsym REVISION=$(REVISION) -o $@ -data/%_sapphire.o: data/%.s $$(dep) - $(PREPROC) $< charmap.txt | $(AS) $(ASFLAGS) --defsym SAPPHIRE=1 --defsym REVISION=$(REVISION) -o $@ +$(DATA_ASM_OBJS): %.o: %.s $$(dep) + $(PREPROC) $< charmap.txt | $(AS) $(ASFLAGS) --defsym $(VERSION)=1 --defsym REVISION=$(REVISION) -o $@ $(SONG_OBJS): %.o: %.s $(AS) $(ASFLAGS) -I sound -o $@ $< -ld_script_ruby.txt: ld_script.txt - @sed 's#\(\(src\|asm\|data\)/.*\)\.o#\1_ruby.o#g' $< > $@ -ld_script_sapphire.txt: ld_script.txt - @sed 's#\(\(src\|asm\|data\)/.*\)\.o#\1_sapphire.o#g' $< > $@ - -pokeruby.elf: ld_script_ruby.txt $(pokeruby_OBJS) $(SONG_OBJS) - $(LD) $(pokeruby_LDFLAGS) -o $@ $(pokeruby_OBJS) $(SONG_OBJS) $(LIBGCC) -pokesapphire.elf: ld_script_sapphire.txt $(pokesapphire_OBJS) $(SONG_OBJS) - $(LD) $(pokesapphire_LDFLAGS) -o $@ $(pokesapphire_OBJS) $(SONG_OBJS) $(LIBGCC) +%.elf: ld_script.txt $(OBJS) + $(LD) $(LDFLAGS) -Map $*.map -o $@ $(OBJS) $(LIBGCC) -%.gba: %.elf +pokeruby.gba pokesapphire.gba: %.gba: %.elf $(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0x9000000 $< $@ diff --git a/compare.sh b/compare.sh new file mode 100755 index 000000000..c6569958f --- /dev/null +++ b/compare.sh @@ -0,0 +1,30 @@ +#!/bin/sh +echo "Checking Ruby 1.0" +make tidy >/dev/null +make ruby >/dev/null +sha1sum -c ruby.sha1 + +echo "Checking Ruby 1.1" +make tidy >/dev/null +make ruby_rev1 >/dev/null +sha1sum -c ruby_rev1.sha1 + +echo "Checking Ruby 1.2" +make tidy >/dev/null +make ruby_rev2 >/dev/null +sha1sum -c ruby_rev2.sha1 + +echo "Checking Sapphire 1.0" +make tidy >/dev/null +make sapphire >/dev/null +sha1sum -c sapphire.sha1 + +echo "Checking Sapphire 1.1" +make tidy >/dev/null +make sapphire_rev1 >/dev/null +sha1sum -c sapphire_rev1.sha1 + +echo "Checking Sapphire 1.2" +make tidy >/dev/null +make sapphire_rev2 >/dev/null +sha1sum -c sapphire_rev2.sha1 diff --git a/ruby.sha1 b/ruby.sha1 new file mode 100644 index 000000000..61b6a3325 --- /dev/null +++ b/ruby.sha1 @@ -0,0 +1 @@ +f28b6ffc97847e94a6c21a63cacf633ee5c8df1e pokeruby.gba diff --git a/ruby_rev1.sha1 b/ruby_rev1.sha1 new file mode 100644 index 000000000..2d25b30f6 --- /dev/null +++ b/ruby_rev1.sha1 @@ -0,0 +1 @@ +610b96a9c9a7d03d2bafb655e7560ccff1a6d894 pokeruby.gba diff --git a/ruby_rev2.sha1 b/ruby_rev2.sha1 new file mode 100644 index 000000000..f4c5340f5 --- /dev/null +++ b/ruby_rev2.sha1 @@ -0,0 +1 @@ +5b64eacf892920518db4ec664e62a086dd5f5bc8 pokeruby.gba diff --git a/rom.sha1 b/sapphire.sha1 index 137f7914a..6314d535e 100644 --- a/rom.sha1 +++ b/sapphire.sha1 @@ -1,2 +1 @@ -f28b6ffc97847e94a6c21a63cacf633ee5c8df1e pokeruby.gba 3ccbbd45f8553c36463f13b938e833f652b793e4 pokesapphire.gba diff --git a/rom_rev1.sha1 b/sapphire_rev1.sha1 index c006e0de5..a66e7c206 100644 --- a/rom_rev1.sha1 +++ b/sapphire_rev1.sha1 @@ -1,2 +1 @@ -610b96a9c9a7d03d2bafb655e7560ccff1a6d894 pokeruby.gba 4722efb8cd45772ca32555b98fd3b9719f8e60a9 pokesapphire.gba diff --git a/rom_rev2.sha1 b/sapphire_rev2.sha1 index 9e54bee6c..8f1db4452 100644 --- a/rom_rev2.sha1 +++ b/sapphire_rev2.sha1 @@ -1,2 +1 @@ -5b64eacf892920518db4ec664e62a086dd5f5bc8 pokeruby.gba 89b45fb172e6b55d51fc0e61989775187f6fe63c pokesapphire.gba |