Revert "remove gflib"

This reverts commit 8b59909ac5.
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
+35 -3
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
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
+15 -15
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);
+5
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
+6 -6
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"
+4 -4
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
+4 -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"