mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2066 b08762b0-b915-fc4b-9d8c-17b2551a87ff
189 lines
5.3 KiB
Makefile
189 lines
5.3 KiB
Makefile
#! make -f
|
|
#----------------------------------------------------------------------------
|
|
# Project: TwlSDK - save_data - DisplayVersion
|
|
# File: Makefile
|
|
#
|
|
# Copyright 2007 Nintendo. All rights reserved.
|
|
#
|
|
# These coded instructions, statements, and computer programs contain
|
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
|
# Company Ltd., and are protected by Federal copyright law. They may
|
|
# not be disclosed to third parties or copied or duplicated in any form,
|
|
# in whole or in part, without the prior written consent of Nintendo.
|
|
#
|
|
# $Date::$
|
|
# $Rev$
|
|
# $Author$
|
|
#----------------------------------------------------------------------------
|
|
|
|
|
|
override TARGET_PLATFORM = TWL
|
|
override TARGET_CODEGEN = ARM
|
|
override TWL_ARCHGEN = LIMITED
|
|
|
|
ifndef MODE
|
|
#------------------------------------------------------------------------
|
|
# APP_TYPE の指定がないなら全てをビルドする
|
|
|
|
include $(TWLSDK_ROOT)/build/buildtools/commondefs
|
|
|
|
do-build: do-something-build
|
|
clean: do-something
|
|
clobber: do-something
|
|
install: do-something
|
|
do-build: MY_GOAL=
|
|
clean: MY_GOAL=clean
|
|
clobber: MY_GOAL=clobber
|
|
install: MY_GOAL=install
|
|
|
|
do-something-build:
|
|
+$(REMAKE) TWLSDK_PLATFORM=TWL MODE=SEQURE SKIP_SUBDIR=FALSE $(MY_GOAL)
|
|
rm `find -name *.lcf`
|
|
rm -rf depend
|
|
rm -rf obj
|
|
+$(REMAKE) TWLSDK_PLATFORM=TWL MODE=USER SKIP_SUBDIR=FALSE $(MY_GOAL)
|
|
|
|
do-something:
|
|
+$(REMAKE) TWLSDK_PLATFORM=TWL MODE=SEQURE SKIP_SUBDIR=FALSE $(MY_GOAL)
|
|
+$(REMAKE) TWLSDK_PLATFORM=TWL MODE=USER SKIP_SUBDIR=FALSE $(MY_GOAL)
|
|
|
|
include $(TWLSDK_ROOT)/build/buildtools/modulerules
|
|
|
|
else
|
|
|
|
|
|
|
|
SUBDIRS =
|
|
|
|
|
|
#----------------------------------------------------------------------------
|
|
TWL_NANDAPP := TRUE
|
|
MASTER_NAME := dispver
|
|
APP_NAME = $(MASTER_NAME)_$(MODE)
|
|
|
|
SRCS = main.c font.c screen.c menu.c dataver.c
|
|
|
|
LLIBRARIES = libnam$(TWL_LIBSUFFIX).a libes$(TWL_LIBSUFFIX).a \
|
|
libsea$(TWL_LIBSUFFIX).a libboc$(TWL_LIBSUFFIX).a \
|
|
libsfs$(TWL_LIBSUFFIX).a
|
|
|
|
#-------------------------
|
|
#-- セキュアアプリ、ユーザアプリの切り替え
|
|
|
|
ifeq ($(MODE),USER)
|
|
MACRO_FLAGS += -DUSER_MODE
|
|
APP_TYPE := User
|
|
SEQURE := FALSE
|
|
GAME_CODE := 4S5A
|
|
endif
|
|
|
|
ifeq ($(MODE),SEQURE)
|
|
APP_TYPE := System
|
|
SEQURE := TRUE
|
|
GAME_CODE := 4S4A
|
|
endif
|
|
|
|
|
|
TARGET_BIN = $(APP_NAME).tad
|
|
|
|
|
|
#-------------------------
|
|
#-- NAND アプリではいくつかのパラメータの指定のために固有の RSF ファイルが必要です。
|
|
|
|
ROM_SPEC = dispver.$(MODE).autogen.rsf
|
|
ROM_SPEC_TEMPLATE = $(ROOT)/include/twl/specfiles/ROM-TS_sys.rsf
|
|
ROM_SPEC_PARAM = MakerCode=01 \
|
|
TitleName=VER_CHECKER \
|
|
GameCode=$(GAME_CODE) \
|
|
BannerFile=./banner/banner_$(MODE).bnr \
|
|
PublicSaveDataSize=16K \
|
|
PrivateSaveDataSize=16K \
|
|
WramMapping=MAP_TS_SCR \
|
|
AppType=$(APP_TYPE) \
|
|
Media=NAND \
|
|
Secure=$(SEQURE) \
|
|
|
|
|
|
|
|
#-------------------------
|
|
#-- NAMを使うためにsecure componentを使う
|
|
|
|
COMPONENT_NAME = armadillo
|
|
MAKEROM_ARM7_BASE = $(TWL_COMPONENTSDIR)/$(COMPONENT_NAME)/$(TWL_BUILDTYPE_ARM7)/$(COMPONENT_NAME)
|
|
MAKEROM_ARM7 = $(MAKEROM_ARM7_BASE).$(TWL_ELF_EXT)
|
|
|
|
#-------------------------
|
|
# インストール指定
|
|
|
|
ifneq ($(TWL_IPL_RED_ROOT),)
|
|
INSTALL_DIR = $(TWL_IPL_RED_ROOT)/debugsoft/$(MASTER_NAME)
|
|
INSTALL_TARGETS = $(BINDIR)/$(TARGET_BIN)
|
|
endif
|
|
|
|
|
|
#-------------------------
|
|
#-- カードアプリと同様に ROM-FS にファイルを持たせます。
|
|
|
|
#MAKEROM_ROMROOT = ./rom_data
|
|
#MAKEROM_ROMFILES = *.*
|
|
|
|
#-------------------------
|
|
#-- バナーデータを生成します
|
|
BANNER = ./banner/banner.bnr
|
|
BANNERSRC := $(wildcard ./banner/data/Cell/*.nce)
|
|
MAKEBANNER = $(TWL_TOOLSDIR)/bin/makebanner.TWL.exe
|
|
BANNERCVTR = $(TWL_TOOLSDIR)/bin/bannercvtr.exe
|
|
|
|
#-------------------------
|
|
# rom 内のファイルは全て自動生成なので clean で削除されるようにします
|
|
LDIRT_CLEAN = $(MAKEROM_ROMROOT)
|
|
|
|
include $(TWLSDK_ROOT)/build/buildtools/commondefs
|
|
|
|
ifeq ($(MODE),USER)
|
|
MAKEROM := $(TWL_TOOLSDIR)/bin/makerom.TWL.exe # commondefs を include した後でなければならない
|
|
endif
|
|
|
|
ifeq ($(MODE),SEQURE)
|
|
MAKEROM := $(TWL_TOOLSDIR)/bin/makerom.TWL.secure.exe # commondefs を include した後でなければならない
|
|
MAKETAD_OPTION := -s # modulerules を include する前でなければならない
|
|
endif
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
#.PHONY: build_time
|
|
|
|
do-build: $(TARGETS)
|
|
|
|
#-------------------------
|
|
#-- SRL を作成する前にバナーが作成されるようにします。
|
|
|
|
$(BINDIR)/$(TARGET_BIN_BASENAME).$(TWL_ELF_EXT): make_dir
|
|
#$(BINDIR)/$(TARGET_BIN_BASENAME).$(TWL_ELF_EXT): make_dir $(BANNER)
|
|
#build_time
|
|
|
|
#-------------------------
|
|
#-- rom_data/build_time.txt を作成します。
|
|
|
|
make_dir:
|
|
$(INSTALL) -d $(MAKEROM_ROMROOT)
|
|
#build_time:
|
|
# $(INSTALL) -d $(MAKEROM_ROMROOT)
|
|
# echo -n "build at `date \"+%Y/%m/%d %H:%M:%S\"` on \"`hostname`\"" > $(MAKEROM_ROMROOT)/build_time.txt
|
|
|
|
#-------------------------
|
|
#-- バナー作成用ターゲット
|
|
|
|
$(BANNER): $(BANNER:.bnr=.bin) $(BANNER:.bnr=.bsf)
|
|
$(MAKEBANNER) -A $(BANNER:.bnr=.bin) $(BANNER:.bnr=.bsf) $@
|
|
|
|
$(BANNER:.bnr=.bin): $(BANNERSRC)
|
|
$(BANNERCVTR) -o $@ $<
|
|
|
|
|
|
include $(TWLSDK_ROOT)/build/buildtools/modulerules
|
|
|
|
endif
|
|
|
|
#===== End of Makefile =====
|