diff options
author | Kurausukun <lord.uber1@gmail.com> | 2021-07-03 17:39:33 -0400 |
---|---|---|
committer | Kurausukun <lord.uber1@gmail.com> | 2021-07-03 17:39:33 -0400 |
commit | 42730a8315be6abceeb95bc1cd29f4c54077bd2e (patch) | |
tree | 1be39d17e751cf4343fe87ca9cff08cdfb0d96dc | |
parent | 10c80230c4b24074a8a9e46661db91fa8d465780 (diff) |
Revert "remove gflib"
This reverts commit 8b59909ac5eb6e3540aeb78396943d57a9702e4d.
-rw-r--r-- | Makefile | 38 | ||||
-rw-r--r-- | gflib/bg.c (renamed from src/bg.c) | 0 | ||||
-rw-r--r-- | gflib/bg.h (renamed from include/bg.h) | 0 | ||||
-rw-r--r-- | gflib/blit.c (renamed from src/blit.c) | 0 | ||||
-rw-r--r-- | gflib/blit.h (renamed from include/blit.h) | 0 | ||||
-rw-r--r-- | gflib/dma3.h (renamed from include/dma3.h) | 0 | ||||
-rw-r--r-- | gflib/dma3_manager.c (renamed from src/dma3_manager.c) | 0 | ||||
-rw-r--r-- | gflib/gpu_regs.c (renamed from src/gpu_regs.c) | 0 | ||||
-rw-r--r-- | gflib/gpu_regs.h (renamed from include/gpu_regs.h) | 0 | ||||
-rw-r--r-- | gflib/io_reg.c (renamed from src/io_reg.c) | 0 | ||||
-rw-r--r-- | gflib/io_reg.h (renamed from include/io_reg.h) | 0 | ||||
-rw-r--r-- | gflib/malloc.c (renamed from src/malloc.c) | 0 | ||||
-rw-r--r-- | gflib/malloc.h (renamed from include/malloc.h) | 0 | ||||
-rw-r--r-- | gflib/sprite.c (renamed from src/sprite.c) | 0 | ||||
-rw-r--r-- | gflib/sprite.h (renamed from include/sprite.h) | 0 | ||||
-rw-r--r-- | gflib/string_util.c (renamed from src/string_util.c) | 0 | ||||
-rw-r--r-- | gflib/string_util.h (renamed from include/string_util.h) | 0 | ||||
-rw-r--r-- | gflib/text.c (renamed from src/text.c) | 0 | ||||
-rw-r--r-- | gflib/text.h (renamed from include/text.h) | 0 | ||||
-rw-r--r-- | gflib/window.c (renamed from src/window.c) | 0 | ||||
-rw-r--r-- | gflib/window.h (renamed from include/window.h) | 0 | ||||
-rw-r--r-- | ld_script.txt | 30 | ||||
-rw-r--r-- | ld_script_modern.txt | 5 | ||||
-rw-r--r-- | sym_bss.txt | 12 | ||||
-rw-r--r-- | sym_common.txt | 8 | ||||
-rw-r--r-- | sym_ewram.txt | 8 |
26 files changed, 69 insertions, 32 deletions
@@ -77,6 +77,7 @@ ELF = $(ROM:.gba=.elf) MAP = $(ROM:.gba=.map) C_SUBDIR = src +GFLIB_SUBDIR = gflib ASM_SUBDIR = asm DATA_SRC_SUBDIR = src/data DATA_ASM_SUBDIR = data @@ -86,6 +87,7 @@ SAMPLE_SUBDIR = sound/direct_sound_samples CRY_SUBDIR = sound/direct_sound_samples/cries C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR) +GFLIB_BUILDDIR = $(OBJ_DIR)/$(GFLIB_SUBDIR) ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR) DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR) SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR) @@ -109,7 +111,7 @@ LIBPATH := -L "$(dir $(shell $(MODERNCC) -mthumb -print-file-name=libgcc.a))" -L LIB := $(LIBPATH) -lc -lnosys -lgcc -L../../libagbsyscall -lagbsyscall endif -CPPFLAGS := -iquote include -Wno-trigraphs -DMODERN=$(MODERN) +CPPFLAGS := -iquote include -iquote $(GFLIB_SUBDIR) -Wno-trigraphs -DMODERN=$(MODERN) ifneq ($(MODERN),1) CPPFLAGS += -I tools/agbcc/include -I tools/agbcc -nostdinc -undef endif @@ -175,6 +177,9 @@ C_SRCS_IN := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c) C_SRCS := $(foreach src,$(C_SRCS_IN),$(if $(findstring .inc.c,$(src)),,$(src))) C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) +GFLIB_SRCS := $(wildcard $(GFLIB_SUBDIR)/*.c) +GFLIB_OBJS := $(patsubst $(GFLIB_SUBDIR)/%.c,$(GFLIB_BUILDDIR)/%.o,$(GFLIB_SRCS)) + C_ASM_SRCS += $(wildcard $(C_SUBDIR)/*.s $(C_SUBDIR)/*/*.s $(C_SUBDIR)/*/*/*.s) C_ASM_OBJS := $(patsubst $(C_SUBDIR)/%.s,$(C_BUILDDIR)/%.o,$(C_ASM_SRCS)) @@ -193,7 +198,7 @@ SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS)) MID_SRCS := $(wildcard $(MID_SUBDIR)/*.mid) MID_OBJS := $(patsubst $(MID_SUBDIR)/%.mid,$(MID_BUILDDIR)/%.o,$(MID_SRCS)) -OBJS := $(C_OBJS) $(C_ASM_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS) +OBJS := $(C_OBJS) $(GFLIB_OBJS) $(C_ASM_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS) OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS)) SUBDIRS := $(sort $(dir $(OBJS))) @@ -311,7 +316,7 @@ else endif else define C_DEP -$1: $2 $$(shell $(SCANINC) -I include -I tools/agbcc/include $2) +$1: $2 $$(shell $(SCANINC) -I include -I tools/agbcc/include -I gflib $2) ifeq (,$$(KEEP_TEMPS)) @echo "$$(CC1) <flags> -o $$@ $$<" @$$(CPP) $$(CPPFLAGS) $$< | $$(PREPROC) $$< charmap.txt -i | $$(CC1) $$(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $$(AS) $$(ASFLAGS) -o $$@ - @@ -326,6 +331,33 @@ $(foreach src, $(C_SRCS), $(eval $(call C_DEP,$(patsubst $(C_SUBDIR)/%.c,$(C_BUI endif ifeq ($(NODEP),1) +$(GFLIB_BUILDDIR)/%.o: $(GFLIB_SUBDIR)/%.c $$(c_dep) +ifeq (,$(KEEP_TEMPS)) + @echo "$(CC1) <flags> -o $@ $<" + @$(CPP) $(CPPFLAGS) $< | $(PREPROC) $< charmap.txt -i | $(CC1) $(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $(AS) $(ASFLAGS) -o $@ - +else + @$(CPP) $(CPPFLAGS) $< -o $(GFLIB_BUILDDIR)/$*.i + @$(PREPROC) $(GFLIB_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(GFLIB_BUILDDIR)/$*.s + @echo -e ".text\n\t.align\t2, 0\n" >> $(GFLIB_BUILDDIR)/$*.s + $(AS) $(ASFLAGS) -o $@ $(GFLIB_BUILDDIR)/$*.s +endif +else +define GFLIB_DEP +$1: $2 $$(shell $(SCANINC) -I include -I tools/agbcc/include -I gflib $2) +ifeq (,$$(KEEP_TEMPS)) + @echo "$$(CC1) <flags> -o $$@ $$<" + @$$(CPP) $$(CPPFLAGS) $$< | $$(PREPROC) $$< charmap.txt -i | $$(CC1) $$(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $$(AS) $$(ASFLAGS) -o $$@ - +else + @$$(CPP) $$(CPPFLAGS) $$< -o $$(GFLIB_BUILDDIR)/$3.i + @$$(PREPROC) $$(GFLIB_BUILDDIR)/$3.i charmap.txt | $$(CC1) $$(CFLAGS) -o $$(GFLIB_BUILDDIR)/$3.s + @echo -e ".text\n\t.align\t2, 0\n" >> $$(GFLIB_BUILDDIR)/$3.s + $$(AS) $$(ASFLAGS) -o $$@ $$(GFLIB_BUILDDIR)/$3.s +endif +endef +$(foreach src, $(GFLIB_SRCS), $(eval $(call GFLIB_DEP,$(patsubst $(GFLIB_SUBDIR)/%.c,$(GFLIB_BUILDDIR)/%.o, $(src)),$(src),$(patsubst $(GFLIB_SUBDIR)/%.c,%, $(src))))) +endif + +ifeq ($(NODEP),1) $(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.s $(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@ else diff --git a/include/bg.h b/gflib/bg.h index 58fd1282c..58fd1282c 100644 --- a/include/bg.h +++ b/gflib/bg.h diff --git a/src/blit.c b/gflib/blit.c index bdbb2e2fd..bdbb2e2fd 100644 --- a/src/blit.c +++ b/gflib/blit.c diff --git a/include/blit.h b/gflib/blit.h index 78f67766e..78f67766e 100644 --- a/include/blit.h +++ b/gflib/blit.h diff --git a/include/dma3.h b/gflib/dma3.h index 8eff34f55..8eff34f55 100644 --- a/include/dma3.h +++ b/gflib/dma3.h diff --git a/src/dma3_manager.c b/gflib/dma3_manager.c index d774efe8c..d774efe8c 100644 --- a/src/dma3_manager.c +++ b/gflib/dma3_manager.c diff --git a/src/gpu_regs.c b/gflib/gpu_regs.c index 3bcc4fd93..3bcc4fd93 100644 --- a/src/gpu_regs.c +++ b/gflib/gpu_regs.c diff --git a/include/gpu_regs.h b/gflib/gpu_regs.h index 89e0cb64b..89e0cb64b 100644 --- a/include/gpu_regs.h +++ b/gflib/gpu_regs.h diff --git a/src/io_reg.c b/gflib/io_reg.c index 44364349d..44364349d 100644 --- a/src/io_reg.c +++ b/gflib/io_reg.c diff --git a/include/io_reg.h b/gflib/io_reg.h index 82d2fc5ed..82d2fc5ed 100644 --- a/include/io_reg.h +++ b/gflib/io_reg.h diff --git a/src/malloc.c b/gflib/malloc.c index 38fc8939e..38fc8939e 100644 --- a/src/malloc.c +++ b/gflib/malloc.c diff --git a/include/malloc.h b/gflib/malloc.h index f2dcf6d46..f2dcf6d46 100644 --- a/include/malloc.h +++ b/gflib/malloc.h diff --git a/src/sprite.c b/gflib/sprite.c index f97ecc712..f97ecc712 100644 --- a/src/sprite.c +++ b/gflib/sprite.c diff --git a/include/sprite.h b/gflib/sprite.h index 4a3b48225..4a3b48225 100644 --- a/include/sprite.h +++ b/gflib/sprite.h diff --git a/src/string_util.c b/gflib/string_util.c index 92f8eea5a..92f8eea5a 100644 --- a/src/string_util.c +++ b/gflib/string_util.c diff --git a/include/string_util.h b/gflib/string_util.h index 229193d52..229193d52 100644 --- a/include/string_util.h +++ b/gflib/string_util.h diff --git a/src/text.c b/gflib/text.c index eb993c421..eb993c421 100644 --- a/src/text.c +++ b/gflib/text.c diff --git a/include/text.h b/gflib/text.h index 3edd0fc62..3edd0fc62 100644 --- a/include/text.h +++ b/gflib/text.h diff --git a/src/window.c b/gflib/window.c index b03b513da..b03b513da 100644 --- a/src/window.c +++ b/gflib/window.c diff --git a/include/window.h b/gflib/window.h index 3eac75a28..3eac75a28 100644 --- a/include/window.h +++ b/gflib/window.h diff --git a/ld_script.txt b/ld_script.txt index 5770b2cea..8c8f19015 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -49,15 +49,15 @@ SECTIONS { { src/crt0.o(.text); src/main.o(.text); - src/malloc.o(.text); - src/dma3_manager.o(.text); - src/gpu_regs.o(.text); - src/bg.o(.text); - src/blit.o(.text); - src/window.o(.text); - src/text.o(.text); - src/sprite.o(.text); - src/string_util.o(.text); + gflib/malloc.o(.text); + gflib/dma3_manager.o(.text); + gflib/gpu_regs.o(.text); + gflib/bg.o(.text); + gflib/blit.o(.text); + gflib/window.o(.text); + gflib/text.o(.text); + gflib/sprite.o(.text); + gflib/string_util.o(.text); src/link.o(.text); src/AgbRfu_LinkManager.o(.text); src/link_rfu_3.o(.text); @@ -436,12 +436,12 @@ SECTIONS { ALIGN(4) { src/main.o(.rodata); - src/bg.o(.rodata); - src/window.o(.rodata); - src/text.o(.rodata); - src/sprite.o(.rodata); - src/io_reg.o(.rodata); - src/string_util.o(.rodata); + gflib/bg.o(.rodata); + gflib/window.o(.rodata); + gflib/text.o(.rodata); + gflib/sprite.o(.rodata); + gflib/io_reg.o(.rodata); + gflib/string_util.o(.rodata); src/link.o(.rodata); src/link.o(.rodata.str1.4); src/AgbRfu_LinkManager.o(.rodata); diff --git a/ld_script_modern.txt b/ld_script_modern.txt index 72fb4dbc5..59d032bb2 100644 --- a/ld_script_modern.txt +++ b/ld_script_modern.txt @@ -14,6 +14,7 @@ SECTIONS { . = 0x1C000; src/*.o(ewram_data); + gflib/*.o(ewram_data); . = 0x40000; } @@ -25,6 +26,7 @@ SECTIONS { { /* .bss starts at 0x3000000 */ src/*.o(.bss); + gflib/*.o(.bss); *libc.a:*.o(.bss*); *libnosys.a:*.o(.bss*); @@ -33,6 +35,7 @@ SECTIONS { /* COMMON starts at 0x30022A8 */ src/*.o(COMMON); + gflib/*.o(COMMON); *libc.a:*.o(COMMON); *libnosys.a:*.o(COMMON); end = .; @@ -46,6 +49,7 @@ SECTIONS { { src/crt0.o(.text*); src/*.o(.text*); + gflib/*.o(.text*); asm/*.o(.text*); } =0 @@ -80,6 +84,7 @@ SECTIONS { ALIGN(4) { src/*.o(.rodata*); + gflib/*.o(.rodata*); data/*.o(.rodata*); } =0 diff --git a/sym_bss.txt b/sym_bss.txt index 7bdf99dd5..3166aee45 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -1,10 +1,10 @@ .include "src/main.o" - .include "src/malloc.o" - .include "src/dma3_manager.o" - .include "src/gpu_regs.o" - .include "src/bg.o" - .include "src/text.o" - .include "src/sprite.o" + .include "gflib/malloc.o" + .include "gflib/dma3_manager.o" + .include "gflib/gpu_regs.o" + .include "gflib/bg.o" + .include "gflib/text.o" + .include "gflib/sprite.o" .include "src/link.o" .include "src/AgbRfu_LinkManager.o" .include "src/link_rfu_3.o" diff --git a/sym_common.txt b/sym_common.txt index 23a185e6f..1525d8aec 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -1,17 +1,17 @@ .space 0x8 .include "main.o" - @ bg.o + @ ../gflib/bg.o .align 2 gUnneededFireRedVariable: .space 4 - @ window.o + @ ../gflib/window.o .align 4 gTransparentTileNumber: .space 1 .align 4 gWindowBgTilemapBuffers: .space 16 - @ text.o + @ ../gflib/text.o .align 4 gFonts: .space 4 @@ -24,7 +24,7 @@ gCurGlyph: .align 2 gTextFlags: .space 4 - @ sprite.o + @ ../gflib/sprite.o .align 2 gOamMatrixAllocBitmap: .space 4 diff --git a/sym_ewram.txt b/sym_ewram.txt index f461cfa10..88c4461cb 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1,9 +1,9 @@ .include "src/decompress.o" .include "src/main.o" - .include "src/window.o" - .include "src/text.o" - .include "src/sprite.o" - .include "src/string_util.o" + .include "gflib/window.o" + .include "gflib/text.o" + .include "gflib/sprite.o" + .include "gflib/string_util.o" .include "src/link.o" .include "src/AgbRfu_LinkManager.o" .include "src/link_rfu_3.o" |