Revert "remove gflib"

This reverts commit 8b59909ac5eb6e3540aeb78396943d57a9702e4d.
This commit is contained in:
Kurausukun 2021-07-03 17:39:33 -04:00
parent 10c80230c4
commit 42730a8315
26 changed files with 69 additions and 32 deletions

View File

@ -77,6 +77,7 @@ ELF = $(ROM:.gba=.elf)
MAP = $(ROM:.gba=.map) MAP = $(ROM:.gba=.map)
C_SUBDIR = src C_SUBDIR = src
GFLIB_SUBDIR = gflib
ASM_SUBDIR = asm ASM_SUBDIR = asm
DATA_SRC_SUBDIR = src/data DATA_SRC_SUBDIR = src/data
DATA_ASM_SUBDIR = data DATA_ASM_SUBDIR = data
@ -86,6 +87,7 @@ SAMPLE_SUBDIR = sound/direct_sound_samples
CRY_SUBDIR = sound/direct_sound_samples/cries CRY_SUBDIR = sound/direct_sound_samples/cries
C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR) C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR)
GFLIB_BUILDDIR = $(OBJ_DIR)/$(GFLIB_SUBDIR)
ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR) ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR)
DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR) DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR)
SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_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 LIB := $(LIBPATH) -lc -lnosys -lgcc -L../../libagbsyscall -lagbsyscall
endif endif
CPPFLAGS := -iquote include -Wno-trigraphs -DMODERN=$(MODERN) CPPFLAGS := -iquote include -iquote $(GFLIB_SUBDIR) -Wno-trigraphs -DMODERN=$(MODERN)
ifneq ($(MODERN),1) ifneq ($(MODERN),1)
CPPFLAGS += -I tools/agbcc/include -I tools/agbcc -nostdinc -undef CPPFLAGS += -I tools/agbcc/include -I tools/agbcc -nostdinc -undef
endif 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_SRCS := $(foreach src,$(C_SRCS_IN),$(if $(findstring .inc.c,$(src)),,$(src)))
C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) 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_SRCS += $(wildcard $(C_SUBDIR)/*.s $(C_SUBDIR)/*/*.s $(C_SUBDIR)/*/*/*.s)
C_ASM_OBJS := $(patsubst $(C_SUBDIR)/%.s,$(C_BUILDDIR)/%.o,$(C_ASM_SRCS)) 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_SRCS := $(wildcard $(MID_SUBDIR)/*.mid)
MID_OBJS := $(patsubst $(MID_SUBDIR)/%.mid,$(MID_BUILDDIR)/%.o,$(MID_SRCS)) 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)) OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
SUBDIRS := $(sort $(dir $(OBJS))) SUBDIRS := $(sort $(dir $(OBJS)))
@ -311,7 +316,7 @@ else
endif endif
else else
define C_DEP 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)) ifeq (,$$(KEEP_TEMPS))
@echo "$$(CC1) <flags> -o $$@ $$<" @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 $$@ - @$$(CPP) $$(CPPFLAGS) $$< | $$(PREPROC) $$< charmap.txt -i | $$(CC1) $$(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $$(AS) $$(ASFLAGS) -o $$@ -
@ -325,6 +330,33 @@ endef
$(foreach src, $(C_SRCS), $(eval $(call C_DEP,$(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(src)),$(src),$(patsubst $(C_SUBDIR)/%.c,%,$(src))))) $(foreach src, $(C_SRCS), $(eval $(call C_DEP,$(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(src)),$(src),$(patsubst $(C_SUBDIR)/%.c,%,$(src)))))
endif 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) ifeq ($(NODEP),1)
$(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.s $(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.s
$(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@ $(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@

View File

@ -49,15 +49,15 @@ SECTIONS {
{ {
src/crt0.o(.text); src/crt0.o(.text);
src/main.o(.text); src/main.o(.text);
src/malloc.o(.text); gflib/malloc.o(.text);
src/dma3_manager.o(.text); gflib/dma3_manager.o(.text);
src/gpu_regs.o(.text); gflib/gpu_regs.o(.text);
src/bg.o(.text); gflib/bg.o(.text);
src/blit.o(.text); gflib/blit.o(.text);
src/window.o(.text); gflib/window.o(.text);
src/text.o(.text); gflib/text.o(.text);
src/sprite.o(.text); gflib/sprite.o(.text);
src/string_util.o(.text); gflib/string_util.o(.text);
src/link.o(.text); src/link.o(.text);
src/AgbRfu_LinkManager.o(.text); src/AgbRfu_LinkManager.o(.text);
src/link_rfu_3.o(.text); src/link_rfu_3.o(.text);
@ -436,12 +436,12 @@ SECTIONS {
ALIGN(4) ALIGN(4)
{ {
src/main.o(.rodata); src/main.o(.rodata);
src/bg.o(.rodata); gflib/bg.o(.rodata);
src/window.o(.rodata); gflib/window.o(.rodata);
src/text.o(.rodata); gflib/text.o(.rodata);
src/sprite.o(.rodata); gflib/sprite.o(.rodata);
src/io_reg.o(.rodata); gflib/io_reg.o(.rodata);
src/string_util.o(.rodata); gflib/string_util.o(.rodata);
src/link.o(.rodata); src/link.o(.rodata);
src/link.o(.rodata.str1.4); src/link.o(.rodata.str1.4);
src/AgbRfu_LinkManager.o(.rodata); src/AgbRfu_LinkManager.o(.rodata);

View File

@ -14,6 +14,7 @@ SECTIONS {
. = 0x1C000; . = 0x1C000;
src/*.o(ewram_data); src/*.o(ewram_data);
gflib/*.o(ewram_data);
. = 0x40000; . = 0x40000;
} }
@ -25,6 +26,7 @@ SECTIONS {
{ {
/* .bss starts at 0x3000000 */ /* .bss starts at 0x3000000 */
src/*.o(.bss); src/*.o(.bss);
gflib/*.o(.bss);
*libc.a:*.o(.bss*); *libc.a:*.o(.bss*);
*libnosys.a:*.o(.bss*); *libnosys.a:*.o(.bss*);
@ -33,6 +35,7 @@ SECTIONS {
/* COMMON starts at 0x30022A8 */ /* COMMON starts at 0x30022A8 */
src/*.o(COMMON); src/*.o(COMMON);
gflib/*.o(COMMON);
*libc.a:*.o(COMMON); *libc.a:*.o(COMMON);
*libnosys.a:*.o(COMMON); *libnosys.a:*.o(COMMON);
end = .; end = .;
@ -46,6 +49,7 @@ SECTIONS {
{ {
src/crt0.o(.text*); src/crt0.o(.text*);
src/*.o(.text*); src/*.o(.text*);
gflib/*.o(.text*);
asm/*.o(.text*); asm/*.o(.text*);
} =0 } =0
@ -80,6 +84,7 @@ SECTIONS {
ALIGN(4) ALIGN(4)
{ {
src/*.o(.rodata*); src/*.o(.rodata*);
gflib/*.o(.rodata*);
data/*.o(.rodata*); data/*.o(.rodata*);
} =0 } =0

View File

@ -1,10 +1,10 @@
.include "src/main.o" .include "src/main.o"
.include "src/malloc.o" .include "gflib/malloc.o"
.include "src/dma3_manager.o" .include "gflib/dma3_manager.o"
.include "src/gpu_regs.o" .include "gflib/gpu_regs.o"
.include "src/bg.o" .include "gflib/bg.o"
.include "src/text.o" .include "gflib/text.o"
.include "src/sprite.o" .include "gflib/sprite.o"
.include "src/link.o" .include "src/link.o"
.include "src/AgbRfu_LinkManager.o" .include "src/AgbRfu_LinkManager.o"
.include "src/link_rfu_3.o" .include "src/link_rfu_3.o"

View File

@ -1,17 +1,17 @@
.space 0x8 .space 0x8
.include "main.o" .include "main.o"
@ bg.o @ ../gflib/bg.o
.align 2 .align 2
gUnneededFireRedVariable: gUnneededFireRedVariable:
.space 4 .space 4
@ window.o @ ../gflib/window.o
.align 4 .align 4
gTransparentTileNumber: gTransparentTileNumber:
.space 1 .space 1
.align 4 .align 4
gWindowBgTilemapBuffers: gWindowBgTilemapBuffers:
.space 16 .space 16
@ text.o @ ../gflib/text.o
.align 4 .align 4
gFonts: gFonts:
.space 4 .space 4
@ -24,7 +24,7 @@ gCurGlyph:
.align 2 .align 2
gTextFlags: gTextFlags:
.space 4 .space 4
@ sprite.o @ ../gflib/sprite.o
.align 2 .align 2
gOamMatrixAllocBitmap: gOamMatrixAllocBitmap:
.space 4 .space 4

View File

@ -1,9 +1,9 @@
.include "src/decompress.o" .include "src/decompress.o"
.include "src/main.o" .include "src/main.o"
.include "src/window.o" .include "gflib/window.o"
.include "src/text.o" .include "gflib/text.o"
.include "src/sprite.o" .include "gflib/sprite.o"
.include "src/string_util.o" .include "gflib/string_util.o"
.include "src/link.o" .include "src/link.o"
.include "src/AgbRfu_LinkManager.o" .include "src/AgbRfu_LinkManager.o"
.include "src/link_rfu_3.o" .include "src/link_rfu_3.o"