mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-04-11 16:37:45 -04:00
3ds: Makefile improvements
- Allow overriding of the smdhtool and 3dsxtool programs - Introduce dependencies in ctru.make for 3dsx and cia packages - Build these packages when the binary is built - Copy instead of moving the cia package when building a zip - Properly clean all build artifacts when make clean is used Change-Id: I2069bcc44d6ab6031ef61ed9980f92ff9a913bc9
This commit is contained in:
parent
a77c5d2219
commit
72969fee7e
4 changed files with 51 additions and 21 deletions
|
|
@ -56,16 +56,15 @@ ENABLE_L2_CACHE := false
|
|||
|
||||
.SECONDEXPANSION: # $$(OBJ) is not populated until after this
|
||||
|
||||
MAKEROM ?= makerom
|
||||
MAKEROM_ARGS := -elf "$(BINARY).elf" -rsf "$(RSF_PATH)" -banner "$(BUILDDIR)/banner.bnr" -icon "$(BUILDDIR)/icon.icn" -DAPP_TITLE="$(APP_TITLE)" -DAPP_PRODUCT_CODE="$(PRODUCT_CODE)" -DAPP_UNIQUE_ID="$(UNIQUE_ID)" -DAPP_ENCRYPTED="$(APP_ENCRYPTED)" -DAPP_SYSTEM_MODE="$(SYSTEM_MODE)" -DAPP_SYSTEM_MODE_EXT="$(SYSTEM_MODE_EXT)" -DAPP_CATEGORY="$(CATEGORY)" -DAPP_USE_ON_SD="$(USE_ON_SD)" -DAPP_MEMORY_TYPE="$(MEMORY_TYPE)" -DAPP_CPU_SPEED="$(CPU_SPEED)" -DAPP_ENABLE_L2_CACHE="$(ENABLE_L2_CACHE)"
|
||||
MAKEROM_ARGS += -major $(VERSION_MAJOR) -minor $(VERSION_MINOR) -micro $(VERSION_MICRO)
|
||||
SMDH_PATH := $(BUILDDIR)/rockbox.smdh
|
||||
3DSX_PATH := $(BUILDDIR)/rockbox.3dsx
|
||||
|
||||
ifneq ($(strip $(LOGO)),)
|
||||
MAKEROM_ARGS += -logo "$(LOGO)"
|
||||
endif
|
||||
ifneq ($(strip $(ROMFS)),)
|
||||
MAKEROM_ARGS += -DAPP_ROMFS="$(ROMFS)"
|
||||
endif
|
||||
BANNER_PATH := $(BUILDDIR)/rockbox.bnr
|
||||
ICON_PATH := $(BUILDDIR)/rockbox.icn
|
||||
CIA_PATH := $(BUILDDIR)/rockbox.cia
|
||||
|
||||
SMDHTOOL ?= smdhtool
|
||||
3DSXTOOL ?= 3dsxtool
|
||||
|
||||
BANNERTOOL ?= bannertool
|
||||
|
||||
|
|
@ -81,17 +80,47 @@ else
|
|||
BANNER_AUDIO_ARG := -a
|
||||
endif
|
||||
|
||||
# main binary
|
||||
MAKEROM ?= makerom
|
||||
MAKEROM_ARGS := -DAPP_TITLE="$(APP_TITLE)" -DAPP_PRODUCT_CODE="$(PRODUCT_CODE)" -DAPP_UNIQUE_ID="$(UNIQUE_ID)" \
|
||||
-DAPP_ENCRYPTED="$(APP_ENCRYPTED)" -DAPP_SYSTEM_MODE="$(SYSTEM_MODE)" \
|
||||
-DAPP_SYSTEM_MODE_EXT="$(SYSTEM_MODE_EXT)" -DAPP_CATEGORY="$(CATEGORY)" -DAPP_USE_ON_SD="$(USE_ON_SD)" \
|
||||
-DAPP_MEMORY_TYPE="$(MEMORY_TYPE)" -DAPP_CPU_SPEED="$(CPU_SPEED)" \
|
||||
-DAPP_ENABLE_L2_CACHE="$(ENABLE_L2_CACHE)" \
|
||||
-major $(VERSION_MAJOR) -minor $(VERSION_MINOR) -micro $(VERSION_MICRO)
|
||||
|
||||
ifneq ($(strip $(LOGO)),)
|
||||
MAKEROM_ARGS += -logo "$(LOGO)"
|
||||
endif
|
||||
ifneq ($(strip $(ROMFS)),)
|
||||
MAKEROM_ARGS += -DAPP_ROMFS="$(ROMFS)"
|
||||
endif
|
||||
|
||||
$(BUILDDIR)/$(BINARY): $$(OBJ) $(FIRMLIB) $(VOICESPEEXLIB) $(CORE_LIBS)
|
||||
ifeq ($(UNAME), Darwin)
|
||||
$(call PRINTS,LD $(BINARY))$(CC) -o $@ $^ $(LDOPTS) $(GLOBAL_LDOPTS) -Wl,$(LDMAP_OPT),$(BUILDDIR)/rockbox.map
|
||||
$(call PRINTS,LD $(@F))$(CC) -o $@ $^ $(LDOPTS) $(GLOBAL_LDOPTS) -Wl,$(LDMAP_OPT),$(BUILDDIR)/rockbox.map
|
||||
else
|
||||
$(call PRINTS,LD $(BINARY))$(CC) -o $@ -Wl,--start-group $^ -Wl,--end-group $(LDOPTS) $(GLOBAL_LDOPTS) \
|
||||
$(call PRINTS,LD $(@F))$(CC) -o $@ -Wl,--start-group $^ -Wl,--end-group $(LDOPTS) $(GLOBAL_LDOPTS) \
|
||||
-Wl,$(LDMAP_OPT),$(BUILDDIR)/rockbox.map
|
||||
endif
|
||||
@mv $(BINARY) $(BINARY).elf
|
||||
smdhtool --create "$(APP_TITLE)" "$(APP_DESCRIPTION)" "$(APP_AUTHOR)" $(APP_ICON) "rockbox.smdh"
|
||||
3dsxtool $(BINARY).elf $(BINARY).3dsx --smdh="rockbox.smdh"
|
||||
$(BANNERTOOL) makebanner $(BANNER_IMAGE_ARG) "$(BANNER_IMAGE)" $(BANNER_AUDIO_ARG) "$(BANNER_AUDIO)" -o "$(BUILDDIR)/banner.bnr"
|
||||
$(BANNERTOOL) makesmdh -s "$(APP_TITLE)" -l "$(APP_DESCRIPTION)" -p "$(APP_AUTHOR)" -i "$(APP_ICON)" -f "$(ICON_FLAGS)" -o "$(BUILDDIR)/icon.icn"
|
||||
$(MAKEROM) -f cia -o "$(BINARY).cia" -target t -exefslogo $(MAKEROM_ARGS)
|
||||
|
||||
$(SMDH_PATH): $(APP_ICON)
|
||||
$(SMDHTOOL) --create "$(APP_TITLE)" "$(APP_DESCRIPTION)" "$(APP_AUTHOR)" $< $@
|
||||
|
||||
$(3DSX_PATH): $(BUILDDIR)/$(BINARY) $(SMDH_PATH)
|
||||
$(3DSXTOOL) $< $@ --smdh=$(SMDH_PATH)
|
||||
|
||||
$(BANNER_PATH): $(BANNER_IMAGE) $(BANNER_AUDIO)
|
||||
$(BANNERTOOL) makebanner $(BANNER_IMAGE_ARG) $(BANNER_IMAGE) $(BANNER_AUDIO_ARG) $(BANNER_AUDIO) -o $@
|
||||
|
||||
$(ICON_PATH): $(APP_ICON)
|
||||
$(BANNERTOOL) makesmdh -s "$(APP_TITLE)" -l "$(APP_DESCRIPTION)" -p "$(APP_AUTHOR)" -i $< -f $(ICON_FLAGS) -o $@
|
||||
|
||||
$(CIA_PATH): $(BUILDDIR)/$(BINARY) $(RSF_PATH) $(BANNER_PATH) $(ICON_PATH)
|
||||
$(MAKEROM) -f cia -o $@ -target t -exefslogo -elf $< -rsf $(RSF_PATH) -banner $(BANNER_PATH) \
|
||||
-icon $(ICON_PATH) $(MAKEROM_ARGS)
|
||||
|
||||
# add dependencies to build the packages
|
||||
CTRU_PACKAGES := $(3DSX_PATH) $(CIA_PATH)
|
||||
|
||||
build: $(CTRU_PACKAGES)
|
||||
bin: $(CTRU_PACKAGES)
|
||||
|
|
|
|||
|
|
@ -750,7 +750,7 @@ sub runone {
|
|||
|
||||
# add hbmenu shortcut and cia file to zip file
|
||||
if ($modelname =~ /ctru/) {
|
||||
move("rockbox.cia", "3ds");
|
||||
copy("rockbox.cia", "3ds");
|
||||
copy("$ROOT/packaging/ctru/rockbox.xml", "3ds");
|
||||
|
||||
system("$ziptool -u $output 3ds/rockbox.xml $target >/dev/null");
|
||||
|
|
|
|||
2
tools/configure
vendored
2
tools/configure
vendored
|
|
@ -4159,7 +4159,7 @@ fi
|
|||
boottool="cp "
|
||||
bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
|
||||
bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
|
||||
output="rockbox"
|
||||
output="rockbox.elf"
|
||||
bootoutput="rockbox"
|
||||
appextra="recorder:gui"
|
||||
plugins="yes"
|
||||
|
|
|
|||
|
|
@ -234,7 +234,8 @@ clean::
|
|||
$(LINKRAM) $(LINKROM) rockbox.elf rockbox.map rockbox.bin \
|
||||
make.dep rombox.elf rombox.map rombox.bin romstart.txt \
|
||||
$(BINARY) $(FLASHFILE) uisimulator bootloader flash $(BOOTLINK) \
|
||||
rockbox.apk lang_enum.h rbversion.h fontbundle.h
|
||||
rockbox.apk lang_enum.h rbversion.h fontbundle.h 3ds rockbox.3dsx \
|
||||
rockbox.bnr rockbox.cia rockbox.icn rockbox.smdh
|
||||
|
||||
#### linking the binaries: ####
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue