Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
32 changes: 15 additions & 17 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ LD := $(PREFIX)ld
# warning in the case of invalid backslash-u escapes...
# Why would those ever pop up, though??
CPP := $(CC) -E
CPP := $(PREFIX)cpp

EXE :=
ifeq ($(OS),Windows_NT)
Expand All @@ -33,15 +34,15 @@ CC1 := tools/agbcc/bin/agbcc$(EXE)
CC1_OLD := tools/agbcc/bin/old_agbcc$(EXE)

GFX := tools/gbagfx/gbagfx$(EXE)
GFX2 := python tools/nes-chr-encode/nes_chr_encode.py
GFX2 := python3 tools/nes-chr-encode/nes_chr_encode.py
AIF := tools/aif2pcm/aif2pcm$(EXE)
MID := $(abspath tools/mid2agb/mid2agb)$(EXE)
SCANINC := tools/scaninc/scaninc$(EXE)
PREPROC := tools/preproc/preproc$(EXE)
GBAFIX := tools/gbafix/gbafix$(EXE)

CC1FLAGS := -mthumb-interwork -Wimplicit -Wparentheses -O2 -fhex-asm -g
CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef -D VERSION_$(GAME_VERSION) -D REVISION=$(GAME_REVISION) -D $(GAME_LANGUAGE) -D DEBUG=$(DEBUG)
CC1FLAGS := -mthumb-interwork -Wall -Wimplicit -Wparentheses -O2 -fhex-asm -g
CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef -D VERSION_$(GAME_VERSION) -D REVISION=$(GAME_REVISION) -D $(GAME_LANGUAGE)
ASFLAGS := -mcpu=arm7tdmi -mthumb-interwork -I asminclude -I include --defsym VERSION_$(GAME_VERSION)=1 --defsym REVISION=$(GAME_REVISION) --defsym $(GAME_LANGUAGE)=1 --defsym DEBUG=$(DEBUG)

#### Files ####
Expand Down Expand Up @@ -117,7 +118,7 @@ SEQ_ASM_OBJS := $(patsubst $(SEQ_ASM_SUBDIR)/%.s,$(SEQ_ASM_BUILDDIR)/%.o,$(SEQ_A
WAVE_ASM_SRCS := $(wildcard $(WAVE_ASM_SUBDIR)/*.s)
WAVE_ASM_OBJS := $(patsubst $(WAVE_ASM_SUBDIR)/%.s,$(WAVE_ASM_BUILDDIR)/%.o,$(WAVE_ASM_SRCS))

OBJS := $(C_OBJS) $(C_DATA_OBJS) $(SRC_ASM_OBJS) $(ASM_OBJS) $(SOUND_ASM_OBJS) $(BANK_ASM_OBJS) $(SEQ_ASM_OBJS) $(WAVE_ASM_OBJS) $(DATA_ASM_OBJS) $(RODATA_ASM_OBJS)
OBJS := $(C_OBJS) $(C_DATA_OBJS) $(SRC_ASM_OBJS) $(ASM_OBJS) $(SOUND_ASM_OBJS) $(BANK_ASM_OBJS) $(SEQ_ASM_OBJS) $(WAVE_ASM_OBJS) $(DATA_ASM_OBJS) $(RODATA_ASM_OBJS)
OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))

SUBDIRS := $(sort $(dir $(OBJS)))
Expand Down Expand Up @@ -161,9 +162,6 @@ mostlyclean: tidy
tidy:
$(RM) $(ROM) $(MAP) $(ELF) $(OBJS)
rm -r build


include graphics_file_rules.mk

%.s: ;
%.png: ;
Expand Down Expand Up @@ -203,11 +201,11 @@ endif

ifeq ($(NODEP),1)
$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s
$(CPP) $(CPPFLAGS) -x c $< | $(PREPROC) $< -i charmap.txt | $(AS) $(ASFLAGS) -o $@
$(CPP) $(CPPFLAGS) -x c $< | $(PREPROC) -i $< charmap.txt | $(AS) $(ASFLAGS) -o $@
else
define DATA_ASM_DEP
$1: $2 $$(shell $(SCANINC) -I include -I "" $2)
$$(CPP) $$(CPPFLAGS) -x c $$< | $$(PREPROC) $$< -i charmap.txt | $$(AS) $$(ASFLAGS) -o $$@
$$(CPP) $$(CPPFLAGS) -x c $$< | $$(PREPROC) -i $$< charmap.txt | $$(AS) $$(ASFLAGS) -o $$@
endef
$(foreach src, $(REGULAR_DATA_ASM_SRCS), $(eval $(call DATA_ASM_DEP,$(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o, $(src)),$(src))))
endif
Expand All @@ -219,13 +217,13 @@ endif
# endif

#### Recipes ####

$(OBJ_DIR)/ld_script.ld: $(LDSCRIPT) $(OBJ_DIR)/sym_ewram.txt $(OBJ_DIR)/sym_iwram.txt
cd $(OBJ_DIR) && sed "s#tools/#../../tools/#g" ../../$(LDSCRIPT) > $(LDSCRIPT)

$(OBJ_DIR)/sym_ewram.txt: sym_ewram.txt
cp $< $@

$(OBJ_DIR)/sym_iwram.txt: sym_iwram.txt
cp $< $@

Expand All @@ -243,27 +241,27 @@ $(SRC_ASM_BUILDDIR)/%.o: $(C_SUBDIR)/%.s
$(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s $$(asm_dep)
$(CPP) $(CPPFLAGS) -x c $< -o $(ASM_BUILDDIR)/$*.i
$(PREPROC) $(ASM_BUILDDIR)/$*.i charmap.txt | $(AS) $(ASFLAGS) -o $@

$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s $$(data_dep)
$(CPP) $(CPPFLAGS) -x c $< -o $(DATA_ASM_BUILDDIR)/$*.i.s
$(PREPROC) $(DATA_ASM_BUILDDIR)/$*.i.s charmap.txt > $(DATA_ASM_BUILDDIR)/$*.p.i
$(PREPROC) $(DATA_ASM_BUILDDIR)/$*.i.s charmap.txt | $(AS) $(ASFLAGS) -o $@

$(RODATA_ASM_BUILDDIR)/%.o: $(RODATA_ASM_SUBDIR)/%.s $$(rodata_dep)
$(PREPROC) $< charmap.txt | $(AS) $(ASFLAGS) -o $@

$(SOUND_ASM_BUILDDIR)/%.o: $(SOUND_ASM_SUBDIR)/%.s
$(AS) $(ASFLAGS) -o $@ $<

$(BANK_ASM_BUILDDIR)/%.o: $(BANK_ASM_SUBDIR)/%.s
$(AS) $(ASFLAGS) -o $@ $<

$(SEQ_ASM_BUILDDIR)/%.o: $(SEQ_ASM_SUBDIR)/%.s
$(AS) $(ASFLAGS) -o $@ $<

$(WAVE_ASM_BUILDDIR)/%.o: $(WAVE_ASM_SUBDIR)/%.s
$(AS) $(ASFLAGS) -o $@ $<


$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS)
cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T $(LDSCRIPT) $(OBJS_REL) ../../tools/agbcc/lib/libgcc.a ../../tools/agbcc/lib/libc.a -o ../../$@
Expand Down
1 change: 1 addition & 0 deletions agbcc
Submodule agbcc added at da598c
Loading