summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKurausukun <lord.uber1@gmail.com>2021-07-03 17:39:33 -0400
committerKurausukun <lord.uber1@gmail.com>2021-07-03 17:39:33 -0400
commit42730a8315be6abceeb95bc1cd29f4c54077bd2e (patch)
tree1be39d17e751cf4343fe87ca9cff08cdfb0d96dc
parent10c80230c4b24074a8a9e46661db91fa8d465780 (diff)
Revert "remove gflib"
This reverts commit 8b59909ac5eb6e3540aeb78396943d57a9702e4d.
-rw-r--r--Makefile38
-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.txt30
-rw-r--r--ld_script_modern.txt5
-rw-r--r--sym_bss.txt12
-rw-r--r--sym_common.txt8
-rw-r--r--sym_ewram.txt8
26 files changed, 69 insertions, 32 deletions
diff --git a/Makefile b/Makefile
index 95d6328ef..d7d4b9566 100644
--- a/Makefile
+++ b/Makefile
@@ -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/src/bg.c b/gflib/bg.c
index ec7c2113b..ec7c2113b 100644
--- a/src/bg.c
+++ b/gflib/bg.c
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"