Tsuchinoko Real?!
This commit is contained in:
parent
4c25ed9a98
commit
661f983e1d
906 changed files with 57143 additions and 0 deletions
174
gb_studio_project/build/src/Makefile.common
Normal file
174
gb_studio_project/build/src/Makefile.common
Normal file
|
|
@ -0,0 +1,174 @@
|
|||
TOP := $(dir $(lastword $(MAKEFILE_LIST)))
|
||||
|
||||
GBDK = $(TOP)../gbdk
|
||||
CC = $(GBDK)/bin/lcc
|
||||
TEST_DIR = $(TOP)test
|
||||
TEST_FW = $(TEST_DIR)/framework
|
||||
EXAMPLES_DIR = ./examples
|
||||
EMU = $(TOP)../bgb/bgb
|
||||
GBSPACK = $(TOP)../gbspack/gbspack
|
||||
TEST_CHK = python $(CURDIR)/$(TEST_FW)/unit_checker.py
|
||||
GBS_CLI = node $(TOP)../gb-studio/out/cli/gb-studio-cli.js
|
||||
PLATFORM =
|
||||
|
||||
ROMTITLE = "GBSTUDIO"
|
||||
|
||||
ROM_BUILD_DIR = build
|
||||
OBJDIR = obj
|
||||
REL_OBJDIR = obj/_rel
|
||||
|
||||
CFLAGS = $(PLATFORM) -I$(TOP)include -Wa-I$(TOP)include
|
||||
|
||||
LFLAGS_NBANKS += -Wm-yoA -Wm-ya4
|
||||
LFLAGS_SYMBOLS = -Wl-j -Wl-m -Wl-w -Wm-yS
|
||||
|
||||
LFLAGS = $(PLATFORM) -Wm-yt$(CART_MBC) $(LFLAGS_NBANKS) $(LFLAGS_SYMBOLS) -Wl-klib -Wl-g.STACK=0xDF00 -Wi-e
|
||||
|
||||
PACKFLAGS = -b 1 -f 255 -e rel -c
|
||||
|
||||
EMUFLAGS = \
|
||||
-set "Color0=E8E8E8" \
|
||||
-set "Color1=A0A0A0" \
|
||||
-set "Color2=585858" \
|
||||
-set "Color3=101010" \
|
||||
-set "DebugWRAMbreak=0" \
|
||||
-set "DebugSrcBrk=1" \
|
||||
-hf -stateonexit \
|
||||
-screenonexit ./capture.bmp
|
||||
|
||||
EMU_FORCE_DMG = -set "SystemMode=0"
|
||||
|
||||
TARGET = $(ROM_BUILD_DIR)/rom.gb
|
||||
|
||||
ASRC = $(foreach dir,$(TOP)src,$(notdir $(wildcard $(dir)/*.s)))
|
||||
CSRC = $(foreach dir,$(TOP)src,$(notdir $(wildcard $(dir)/*.c)))
|
||||
ACORE = $(foreach dir,$(TOP)src/core,$(notdir $(wildcard $(dir)/*.s)))
|
||||
CCORE = $(foreach dir,$(TOP)src/core,$(notdir $(wildcard $(dir)/*.c)))
|
||||
CSTATES = $(foreach dir,$(TOP)src/states,$(notdir $(wildcard $(dir)/*.c)))
|
||||
ASTATES = $(foreach dir,$(TOP)src/states,$(notdir $(wildcard $(dir)/*.s)))
|
||||
|
||||
ENGINE_OBJS = $(CSRC:%.c=$(TOP)$(OBJDIR)/%.o) \
|
||||
$(ASRC:%.s=$(TOP)$(OBJDIR)/%.o) \
|
||||
$(ACORE:%.s=$(TOP)$(OBJDIR)/%.o) \
|
||||
$(CCORE:%.c=$(TOP)$(OBJDIR)/%.o) \
|
||||
$(CSTATES:%.c=$(TOP)$(OBJDIR)/%.o) \
|
||||
$(ASTATES:%.s=$(TOP)$(OBJDIR)/%.o)
|
||||
|
||||
OBJS = $(ENGINE_OBJS)
|
||||
REL_OBJS = $(OBJS:$(OBJDIR)/%.o=$(REL_OBJDIR)/%.rel)
|
||||
|
||||
all: settings directories BUILD
|
||||
|
||||
.PHONY: directories clean release debug profile AP DMG CGB SGB MBC3 MBC5 hUGE GBT test rom BUILD
|
||||
.SECONDARY: $(OBJS)
|
||||
|
||||
AP:
|
||||
$(eval PLATFORM = -msm83:ap)
|
||||
$(eval TARGET = $(patsubst %.gb,%.pocket,$(TARGET)))
|
||||
@echo "Analogue pocket build"
|
||||
|
||||
release:
|
||||
$(eval CFLAGS += -Wf'--max-allocs-per-node 50000')
|
||||
@echo "RELEASE mode ON"
|
||||
|
||||
debug:
|
||||
$(eval CFLAGS += -Wf--fverbose-asm -Wf--debug -Wl-m -Wl-w -Wl-y -DVM_DEBUG_OUTPUT)
|
||||
$(eval CFLAGS += -Wf--nolospre -Wf--nogcse)
|
||||
$(eval LFLAGS += -Wf--debug -Wl-m -Wl-w -Wl-y)
|
||||
@echo "DEBUG mode ON"
|
||||
|
||||
profile:
|
||||
$(eval CFLAGS += -Wf--profile)
|
||||
@echo "PROFILE mode ON"
|
||||
|
||||
DMG:
|
||||
@echo "DMG mode ON"
|
||||
|
||||
CGB:
|
||||
$(eval CFLAGS += -DCGB)
|
||||
$(eval LFLAGS += -Wm-yC)
|
||||
@echo "CGB mode ON"
|
||||
|
||||
SGB:
|
||||
$(eval CFLAGS += -DSGB)
|
||||
$(eval LFLAGS += -Wm-ys)
|
||||
@echo "SGB mode ON"
|
||||
|
||||
batteryless:
|
||||
$(eval PACKFLAGS += -a 4)
|
||||
$(eval BATTERYLESS = 1)
|
||||
$(eval CFLAGS += -DBATTERYLESS)
|
||||
@echo "BETTERYLESS SAVE ON"
|
||||
|
||||
MBC3:
|
||||
$(eval CART_MBC = 0x10)
|
||||
@echo "Using MBC3"
|
||||
MBC5:
|
||||
$(eval CART_MBC = 0x1B)
|
||||
@echo "Using MBC5"
|
||||
|
||||
hUGE:
|
||||
$(eval CFLAGS += -DHUGE_TRACKER)
|
||||
$(eval LFLAGS += -Wl-l$(TOP)lib/hUGEDriver.lib)
|
||||
@echo "Enable hUGETracker"
|
||||
GBT:
|
||||
$(eval CFLAGS += -DGBT_PLAYER)
|
||||
$(eval LFLAGS += -Wl-l$(TOP)lib/gbt_player.lib)
|
||||
$(eval PACKFLAGS += -s 1:800)
|
||||
@echo "Enable GBTPlayer"
|
||||
|
||||
directories: $(ROM_BUILD_DIR) $(OBJDIR) $(REL_OBJDIR)
|
||||
|
||||
$(ROM_BUILD_DIR):
|
||||
mkdir -p $(ROM_BUILD_DIR)
|
||||
|
||||
$(OBJDIR):
|
||||
mkdir -p $(OBJDIR)
|
||||
mkdir -p $(TOP)$(OBJDIR)
|
||||
|
||||
$(REL_OBJDIR):
|
||||
mkdir -p $(REL_OBJDIR)
|
||||
|
||||
$(TOP)$(OBJDIR)/%.o: $(TOP)src/core/%.c
|
||||
$(CC) $(CFLAGS) -Wf-MMD $(filter -Wf-ba%, $(subst .d,-Wf-ba,$(suffix $(<:%.c=%)))) -c -o $@ $<
|
||||
|
||||
$(TOP)$(OBJDIR)/%.o: $(TOP)src/core/%.s
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
|
||||
$(TOP)$(OBJDIR)/%.o: $(TOP)src/states/%.c
|
||||
$(CC) $(CFLAGS) -Wf-MMD -c -o $@ $<
|
||||
|
||||
$(TOP)$(OBJDIR)/%.o: $(TOP)src/states/%.s
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
|
||||
$(TOP)$(OBJDIR)/%.o: $(TOP)src/%.c
|
||||
$(CC) $(CFLAGS) -Wf-MMD -c -o $@ $<
|
||||
|
||||
$(TOP)$(OBJDIR)/%.o: $(TOP)src/%.s
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
|
||||
$(REL_OBJDIR)/linkfile.lk: $(OBJS)
|
||||
mkdir -p $(REL_OBJDIR)
|
||||
|
||||
$(shell rm -f $(REL_OBJDIR)/packfile.pk)
|
||||
$(foreach O,$(OBJS),$(shell echo $O >>$(REL_OBJDIR)/packfile.pk))
|
||||
$(eval CART_SIZE=$(shell $(GBSPACK) $(PACKFLAGS) -o $(REL_OBJDIR) -i $(REL_OBJDIR)/packfile.pk))
|
||||
|
||||
$(shell echo -g __start_save=$(shell expr $(CART_SIZE) - 4 ) >$@)
|
||||
$(foreach O,$(REL_OBJS),$(shell echo $O >>$@))
|
||||
|
||||
BUILD: $(REL_OBJDIR)/linkfile.lk
|
||||
$(CC) $(LFLAGS) -Wm-yn$(ROMTITLE) -o $(TARGET) -Wl-f$<
|
||||
|
||||
clean:
|
||||
@echo "CLEANUP..."
|
||||
rm -rf $(TOP)$(OBJDIR)
|
||||
rm -rf $(OBJDIR)
|
||||
rm -rf $(ROM_BUILD_DIR)
|
||||
rm -f $(TEST_DIR)/*/capture.bmp
|
||||
rm -rf $(TEST_DIR)/*/obj
|
||||
rm -rf $(TEST_DIR)/*/build
|
||||
rm -rf $(EXAMPLES_DIR)/*/obj
|
||||
rm -rf $(EXAMPLES_DIR)/*/build
|
||||
|
||||
rom: directories BUILD
|
||||
Loading…
Add table
Add a link
Reference in a new issue