ctr_firmware/trunk/public/build/buildtools/commondefs
nakasima f46ef3645e TEG/NE1EMU/MG20EMUを共通ディレクトリでビルドできるようにするため、ioreg*.hをプラットフォーム毎に分離。
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@301 b871894f-2f95-9b40-918c-086798483c85
2009-02-17 12:26:41 +00:00

675 lines
17 KiB
Makefile
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#! make -f
#----------------------------------------------------------------------------
# Project: CtrFirm - commondefs - common definitions for build system
# File: commondefs
#
# Copyright 2008 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$
#----------------------------------------------------------------------------
ifndef CTRSDK_COMMONDEFS_
CTRSDK_COMMONDEFS_ = TRUE
#
# SDK root directory
#
CTRSDK_ROOT ?= C:/ctr_sdk
#
# SDK Major Version
#
CTRSDK_VERSION_MAJOR ?= 4
#
# CodeGen Target
#
# CTR_PLATFORM = [TS/TEG/MG20EMU/NE1EMU]
# CTR_MEMSIZE = [64M/128M]
# CTR_CODEGEN = [ARM/THUMB]
# CTR_PROC = [ARM11/ARM9/ARM7]
#
CTR_PLATFORM ?= TEG
CTR_MEMSIZE ?= 64M
CTR_CODEGEN ?= ARM
CTR_PROC ?= ARM11
ifndef CODEGEN_PROC
CODEGEN_PROC := $(CTR_PROC)
endif
ifeq ($(CTR_CODEGEN),ALL)
CTR_CODEGEN_ALL ?= TRUE
override CTR_CODEGEN = ARM
endif
ifeq ($(CTR_CODEGEN),ARM)
CODEGEN_ARCH =
else # ($(CTR_CODEGEN),THUMB)
CODEGEN_ARCH = .thumb
endif
CODEGEN_CC ?= $(CTR_CODEGEN)
CODEGEN_AS ?= ARM
TS_VERSION = $(if $(CTR_TS_VERSION),_TS$(CTR_TS_VERSION))
#
# C Compiler type
#
# CTR_CCTYPE = [CW/SNC/RVCT]
#
CTR_CCTYPE ?= RVCT
#
# Binary build tool switch
#
ifeq ($(CTR_ELFTOBIN),)
CTR_MAKEROM ?= TRUE
endif
ifeq ($(CTR_MAKEROM)$(CTR_PLATFORM),TS)
__error:
@echo "---- Stop, Don't use ELFTOBIN with CTR_PLATFORM=TS ----"
@exit 1
endif
#
# RomSpeedType for makerom.exe
#
# one of [MROM/1TROM/UNDEFINED]
#
CTR_ROMSPEED ?= UNDEFINED
#
# SDK build type
#
# one of [CTR_DEBUG/CTR_RELEASE/CTR_FINALROM]
#
ifdef CTR_DEBUG
CTR_BUILD_TYPE ?= DEBUG
CTR_BUILD_DIR ?= Debug
else
ifdef CTR_FINALROM
CTR_BUILD_TYPE ?= FINALROM
CTR_BUILD_DIR ?= Rom
else # CTR_RELEASE (default)
CTR_BUILD_TYPE ?= RELEASE
CTR_BUILD_DIR ?= Release
endif
endif
#
# Debugger Type
#
# one of [ARM/KMC]
#
ifneq ($(CTR_PLATFORM),MG20EMU)
ifneq ($(CTR_PLATFORM),NE1EMU)
CTR_DEBUGGER ?= ARM
endif
endif
CTR_DEBUGGER ?= KMC
#----------------------------------------------------------------
#
# Utilities
#
EMPTY :=
SPACE := $(EMPTY) $(EMPTY)
ifdef MSYSTEM # for MinGW32
QUOTE ='
else
QUOTE ="
endif
define NEWLINE
$(EMPTY)
endef
#----------------------------------------------------------------------------
# MAKE COMMAND SETTINGS
#
# --no-print-directory: No print directory when 'change directory'
# -r no builtin rules
# -R no builtin variables
# -j do make with multi-thread (not used now)
#
MAKEFILE = $(firstword $(MAKEFILE_LIST))
MAKEFLAGS_SHORT = $(filter-out --%,$(MAKEFLAGS))
MAKEFLAGS += -R -r
ifdef SILENT
MAKEFLAGS += -s
endif
# Check -w option
ifeq (,$(findstring w,$(MAKEFLAGS_SHORT)))
MAKEFLAGS += --no-print-directory
endif
# Check -k option
ifeq (,$(findstring k,$(MAKEFLAGS_SHORT)))
AND = &&
else
AND = ;
endif
# Check -s option
ifneq (,$(findstring s,$(MAKEFLAGS_SHORT)))
STDOUT = > /dev/null
endif
# Check -B option
MAKEFLAGS_OPTIONS = $(MAKEFLAGS)
MAKEFLAGS_ALWAYS = $(if $(findstring B,$(MAKEFLAGS_SHORT))$(findstring --always-make,$(MAKEFLAGS_OPTIONS)),TRUE,FALSE)
#----------------------------------------------------------------------------
# CYGWIN tools
#
CD := cd
CP := cp -rf
RM := rm -rf
MV := mv
MKDIRP := mkdir -p
SED := sed
INSTALL := install -p
TOUCH := touch
ECHO := echo
PERL := perl
OBJCOPY := objcopy -I elf32-little -O binary
# <20>f<EFBFBD>o<EFBFBD>b<EFBFBD>O<EFBFBD>p<EFBFBD>t<EFBFBD><74><EFBFBD>O
MAKEFLAGS_D ?=
REMAKE := $(MAKE) -f $(MAKEFILE) $(MAKEFLAGS_D)
LEX := flex
YACC := bison -y
CC_X86 := gcc -mno-cygwin
CXX_X86 := g++ -mno-cygwin
LD_X86 := gcc -mno-cygwin
AR_X86 := ar ruc
GREP ?= /bin/grep
MOUNT ?= /bin/mount
HEAD ?= /bin/head
AWK ?= /bin/gawk
CUT ?= /bin/cut
TR ?= /bin/tr
# /bin/true <20>̑<EFBFBD><CC91><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> builtin <20>Ő^<5E><><EFBFBD>Ԃ<EFBFBD><D482>R<EFBFBD>}<7D><><EFBFBD>h<EFBFBD><68><EFBFBD>g<EFBFBD><67>
TRUE ?= test true
ifdef USE_ASH
export SHELL=ash
endif
#----------------------------------------------------------------
#
# cygpath
#
CYGPATH ?= cygpath
# <20><><EFBFBD><EFBFBD> cygpath <20>͕W<CD95><57><EFBFBD>ł͖<C582><CD96><EFBFBD> (make 3.80 <20>ł<EFBFBD> eval <20>֐<EFBFBD><D690>ɕs<C995><EFBFBD><EF8D87><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD><EFBFBD>)
CYGPATH_NOCMD ?= FALSE
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʂ<EFBFBD><CA82><EFBFBD><EFBFBD><EFBFBD>͏<EFBFBD><CD8F>̒<EFBFBD><CC92>`<60><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>m<EFBFBD>F)
#ifndef CYGPATH_NOCMD
#
#MAKE_VERSION := $(shell $(MAKE) -v | $(HEAD) -1 | $(AWK) '{print $3}')
#
#ifndef MSYSTEM
#
#ifeq ($(shell(expr "$(MAKE_VERSION)" ">=" "3.81")),1)
#CYGPATH_NOCMD=TRUE
#else # MAKE_VERSION
#CYGPATH_NOCMD=FALSE
#endif # MAKE_VERSION
#
#endif # MSYSTEM
#
#endif # CYGPATH_NOCMD
# cygdrive path prefix <20><><EFBFBD>
ifeq ($(CYGPATH_MOUNTPOINT),)
CYGPATH_MOUNTPOINT := $(patsubst %/,%,$(dir $(shell $(CYGPATH) -u c:/)))
endif # CYGPATH_MOUNTPOINT
ifeq ($(CYGPATH_NOCMD),TRUE)
ifeq ($(CYGPATH_DRIVELIST),)
# <20><><EFBFBD>S
CYGPATH_DRIVELIST_ALL = $(shell DRIVES=`$(MOUNT) | $(GREP) 'type user' | $(CUT) -c1 | tr '\n' ' '` \
&& echo $${DRIVES} `echo $${DRIVES} | $(TR) '[a-z]' '[A-Z]'`)
# <20>ŏ<EFBFBD><C58F><EFBFBD><EFBFBD>ő<EFBFBD><C591><EFBFBD>
CYGPATH_DRIVELIST_FAST = $(shell $(CYGPATH) -aw '$(CTRSDK_ROOT)c' \
'$(CWFOLDER_CTR)c' '$(CWFOLDER_TWL)c' '$(CWFOLDER_NITRO)c' \
'$(CTRSYSTEM_ROOT)c' \
'$(IS_CTR_DIR)c' '$(IS_TWL_DIR)c' '$(IS_NITRO_DIR)c' \
| $(CUT) -c1)
CYGPATH_DRIVELIST := $(sort $(CYGPATH_DRIVELIST_FAST))
#CYGPATH_DRIVELIST := $(sort $(CYGPATH_DRIVELIST_ALL))
endif # CYGPATH_DRIVELIST
define cygpathm
$(strip $(eval VALUE=$(1))$(foreach DRIVE,$(CYGPATH_DRIVELIST),$(eval VALUE:=$$(patsubst $(CYGPATH_MOUNTPOINT)/$(DRIVE)/%,$(DRIVE):/%,$$(subst \,/,$$(VALUE)))))$(VALUE))
endef # cygpathm
define cygpathu
$(strip $(eval VALUE:=$(1))$(foreach DRIVE,$(CYGPATH_DRIVELIST),$(eval VALUE:=$$(patsubst $(DRIVE):/%,$(CYGPATH_MOUNTPOINT)/$(DRIVE)/%,$$(subst \,/,$$(VALUE)))))$(VALUE))
endef # cygpathu
define cygpathm_multi
$(foreach pathvar,$(1),$(call cygpathm,$(pathvar)))
endef # cygpathm_multi
define cygpathu_multi
$(foreach pathvar,$(1),$(call cygpathu,$(pathvar)))
endef # cygpathu_multi
define eupath
$(subst $(SPACE),\ ,$(call cygpathu,$(subst \ , ,$(1))))
endef # eupath
define empath
$(subst $(SPACE),\ ,$(call cygpathm,$(subst \ , ,$(1))))
endef # empath
else # CYGPATH_NOCMD
define empath
$(subst $(SPACE),\ ,$(shell $(CYGPATH) -m $(subst \,\\,$(subst \ , ,$(1)))))
endef # empath
ifdef MSYSTEM
define eupath
$(call empath,$(1))
endef #eupath
define cygpathu
$(shell cygpath -m $(subst \,\\,$(subst \ , ,$(1))))
endef
else # MSYSTEM
define eupath
$(subst $(SPACE),\ ,$(shell $(CYGPATH) -u $(subst \,\\,$(subst \ , ,$(1)))))
endef
define cygpathu
$(shell cygpath -u $(subst \,\\,$(subst \ , ,$(1))))
endef
endif # MSYSTEM
define cygpathm
$(shell cygpath -m $(subst \,\\,$(subst \ , ,$(1))))
endef
define cygpathu_multi
$(call cygpathu,$(1))
endef
define cygpathm_multi
$(call cygpathm,$(1))
endef
endif # CYGPATH_NOCMD
export CYGPATH_MOUNTPOINT CYGPATH_DRIVELIST CYGPATH_NOCMD
define encode_specialchar
$(subst $(SPACE),%20,$(1))
endef
define decode_specialchar
$(subst %20,$(SPACE),$(1))
endef
#----------------------------------------------------------------------------
# CTR-SDK path settings
#
#-include $(CTR_BUILDTOOLSDIR)/commondefs.cygpath
ROOT := $(call eupath,$(CTRSDK_ROOT))
CTR_BUILDTOOLSDIR := $(ROOT)/build/buildtools
CTR_BUILDSETUPDIR := $(ROOT)/build/buildsetup
CTR_INCDIR := $(ROOT)/include
CTR_IOREG_INCDIR := $(CTR_INCDIR)/ctr/hw/$(CTR_PROC)/$(CTR_PLATFORM)
CTR_TOOLSDIR := $(ROOT)/tools
CTR_COMPONENTSDIR := $(ROOT)/components
CTR_ADDINS ?= $(ROOT)/add-ins
CTR_BUILDARCH ?= $(CODEGEN_PROC)-$(CTR_PLATFORM)$(CODEGEN_ARCH)
CTR_BUILDARCH_ARM11 := ARM9-$(CTR_PLATFORM)$(CODEGEN_ARCH)
CTR_BUILDARCH_ARM9 := ARM7-$(CTR_PLATFORM)$(CODEGEN_ARCH)
CTR_BUILDTYPE ?= $(CTR_BUILDARCH)/$(CTR_BUILD_DIR)
CTR_BUILDTYPE_ARM11 := $(CTR_BUILDARCH_ARM9)/$(CTR_BUILD_DIR)
CTR_BUILDTYPE_ARM9 := $(CTR_BUILDARCH_ARM7)/$(CTR_BUILD_DIR)
CTR_LIBARCH := $(CODEGEN_PROC)-$(CTR_PLATFORM)
CTR_LIBTYPE := $(CTR_LIBARCH)/$(CTR_BUILD_DIR)
CTR_LIBDIR := $(ROOT)/lib/$(CTR_LIBTYPE)
CTR_LIBSYSCALLDIR := $(ROOT)/lib/$(CTR_LIBARCH)/etc
CTR_LIBSUFFIX := $(CODEGEN_ARCH)
#----------------------------------------------------------------------------
# CTR-SYSTEM path settings
#
ifdef CTRSYSTEM_ROOT
CTRSYSTEM_ROOT_ := $(subst $(SPACE),\ ,$(subst \,/,$(CTRSYSTEM_ROOT)))
-include $(CTRSYSTEM_ROOT_)/build/buildtools/nnslibdefs
endif
CTRSYSTEM_LIBDIR ?= $(ROOT)/lib/CtrSystem/$(CTR_LIBTYPE)
CTRSYSTEM_INCDIR ?=
#----------------------------------------------------------------------------
# CTR-WIRELESS path settings
#
# libraries should be in
# $(ROOT)/lib/CtrWireless
#
# includes should be in
# $(ROOT)/include/ctr_wl/ARM11/*.h
#
# access by #include <ctr_wl/ARM11/*.h>
#
# SDK_VERSION_WL is defined in <ctr_wl/ARM11/version_wl.h>
#
CTRWIRELESS_VERSION ?= 2.78.00
CTRWIRELESS_ROOT ?= $(ROOT)/add-ins/CtrWireless/Marionea-$(CTRWIRELESS_VERSION)
CTRWIRELESS_ROOT_ = $(subst $(SPACE),\ ,$(subst \,/,$(CTRWIRELESS_ROOT)))
ifneq ($(CTR_PROC),ARM9)
CTRWIRELESS_LIBDIR ?= $(ROOT)/lib/CtrWireless/$(CTR_LIBTYPE)
CTRWIRELESS_INCDIR ?= $(ROOT)/include
endif
#----------------------------------------------------------------------------
# Compiler settings
#
CTR_FORCE_BUILD ?= $(strip $(TARGET_BIN) $(TARGET_OBJ) $(TARGET_NEF) $(TARGET_LIB) $(TARGET_SIGN_BIN))
ifneq ($(CTR_FORCE_BUILD),)
### module subdir src/ obj/ lib/ include/
DEFAULT_SRCDIR := ./src
DEFAULT_INCDIR := ./include
DEFAULT_ETCDIR := ./etc
LCF_SUFFIX_ := $(if $(CTR_DIGEST),-C)
CTR_SPECDIR = $(CTR_INCDIR)/ctr/specfiles
DEFAULT_LCFILE = $(CTR_SPECDIR)/$(CTR_LIBARCH).lcf
DEFAULT_LCFILE_TEMPLATE = $(CTR_SPECDIR)/$(CTR_LIBARCH)$(LCF_SUFFIX_).lcf.template
DEFAULT_LCFILE_SPEC = $(CTR_SPECDIR)/$(CTR_LIBARCH).lsf
DEFAULT_ROM_SPEC = $(CTR_SPECDIR)/ROM-$(CTR_PLATFORM).rsf
SRCDIR ?= $(DEFAULT_SRCDIR)
INCDIR ?= $(DEFAULT_INCDIR)
ETCDIR ?= $(DEFAULT_ETCDIR)
OBJDIR ?= ./obj/$(CTR_BUILDTYPE)
BINDIR ?= ./bin/$(CTR_BUILDTYPE)
LIBDIR ?= ./lib/$(CTR_BUILDTYPE)
DEPENDDIR ?= ./depend/$(CTR_BUILDTYPE)
LIBSYSCALL_ = $(if $(LIBSYSCALL),$(LIBSYSCALL),$(CTR_LIBSYSCALLDIR)/libsyscall.a)
### Compiler & Linker settings
-include $(CTR_BUILDTOOLSDIR)/commondefs.cctype.$(CTR_CCTYPE)
ifneq ($(CTR_MAKEROM),)
LCFILE_TEMPLATE ?= $(DEFAULT_LCFILE_TEMPLATE)
LCFILE_SPEC ?= $(DEFAULT_LCFILE_SPEC)
LCFILE_AUTOGEN ?= $(BINDIR)/$(notdir $(LCFILE_SPEC:.lsf=.autogen.lcf))
LCFILE ?= $(LCFILE_AUTOGEN)
DEFAULT_LDRES_TEMPLATE = $(CTR_SPECDIR)/$(basename $(notdir $(LD))).response.template
LDRES_TEMPLATE ?= $(DEFAULT_LDRES_TEMPLATE)
LDRES_AUTOGEN ?= $(BINDIR)/$(notdir $(LCFILE_SPEC:.lsf=.autogen.response))
LDRES_FILE ?= $(LDRES_AUTOGEN)
else
LCFILE ?= $(DEFAULT_LCFILE)
endif
TARGETS = $(addprefix $(BINDIR)/,$(TARGET_BIN) $(TARGET_NEF) $(TARGET_SIGN_BIN)) \
$(addprefix $(OBJDIR)/,$(TARGET_OBJ)) \
$(addprefix $(LIBDIR)/,$(TARGET_LIB))
TARGET_BIN_BASENAME = $(notdir $(basename $(firstword $(TARGET_BIN) $(TARGET_NEF))))
TARGET_NAME ?= $(TARGET_BIN_BASENAME)
### Debugger settings
ifndef IS_CTR_DIR
ifdef IS_IRIS_DIR
IS_CTR_DIR = $(IS_IRIS_DIR)
endif
endif
-include $(CTR_BUILDTOOLSDIR)/commondefs.emtype.ISD
### SDK Library settings
CRT0_O ?= crt0.o
ifeq ($(CODEGEN_PROC),ARM11)
CTR_LIBS ?= libfx$(CTR_LIBSUFFIX).a \
libgx$(CTR_LIBSUFFIX).a \
libos$$(CTR_LIBSUFFIX).a \
libmi$(CTR_LIBSUFFIX).a \
libsnd$(CTR_LIBSUFFIX).a \
libpxi$(CTR_LIBSUFFIX).a \
libext$(CTR_LIBSUFFIX).a \
libfs$(CTR_LIBSUFFIX).a \
libdgt$(CTR_LIBSUFFIX).a \
libcp$(CTR_LIBSUFFIX).a \
libspi$(CTR_LIBSUFFIX).a \
librtc$(CTR_LIBSUFFIX).a \
libprc$(CTR_LIBSUFFIX).a \
libcard$(CTR_LIBSUFFIX).a \
libwm$(CTR_LIBSUFFIX).a \
libwbt$(CTR_LIBSUFFIX).a \
libmb$(CTR_LIBSUFFIX).a \
libctrdg$(CTR_LIBSUFFIX).a \
libmath$(CTR_LIBSUFFIX).a \
libcht$(CTR_LIBSUFFIX).a \
libstd$(CTR_LIBSUFFIX).a \
libenv$(CTR_LIBSUFFIX).a \
$(notdir $(LIBSYSCALL_)) \
$(CRT0_O)
ifdef CTR_PROFILE_TYPE
CTR_LIBS += libos.$(CTR_PROFILE_TYPE)$(CTR_LIBSUFFIX).a
endif
else # ($(CODEGEN_PROC),ARM9)
CTR_LIBS ?= libos_sp$(CTR_LIBSUFFIX).a \
libmi_sp$(CTR_LIBSUFFIX).a \
libsnd_sp$(CTR_LIBSUFFIX).a \
libpxi_sp$(CTR_LIBSUFFIX).a \
libpad_sp$(CTR_LIBSUFFIX).a \
libexi_sp$(CTR_LIBSUFFIX).a \
libfs_sp$(CTR_LIBSUFFIX).a \
libcard_sp$(CTR_LIBSUFFIX).a \
librtc_sp$(CTR_LIBSUFFIX).a \
libspi_sp$(CTR_LIBSUFFIX).a \
libtp_sp$(CTR_LIBSUFFIX).a \
libnvram_sp$(CTR_LIBSUFFIX).a \
libmic_sp$(CTR_LIBSUFFIX).a \
libpm_sp$(CTR_LIBSUFFIX).a \
libctrdg_sp$(CTR_LIBSUFFIX).a \
libwvr_sp$(CTR_LIBSUFFIX).a \
libstd_sp$(CTR_LIBSUFFIX).a \
libsubpsyscall.a \
$(CRT0_O)
ifdef CTR_PROFILE_TYPE
CTR_LIBS += libos_sp.$(CTR_PROFILE_TYPE)$(CTR_LIBSUFFIX).a
endif
endif
### Global Library settings
DEFAULT_GINCLUDES = $(INCDIR) $(SRCDIR) \
$(CTRSYSTEM_INCDIR) $(CTRWIRELESS_INCDIR) \
$(CTR_INCDIR) $(ISD_INCDIRS) \
$(CTR_IOREG_INCDIR) \
DEFAULT_GLIBRARY_DIRS = $(LIBDIR) $(dir $(LIBSYSCALL_)) \
$(CTRSYSTEM_LIBDIR) $(CTRWIRELESS_LIBDIR) \
$(CTR_LIBDIR) $(ISD_LIBDIRS)
DEFAULT_GLIBRARIES = $(CTRSYSTEM_LIBS) $(CTR_LIBS) $(STUBS_LIBS) $(ISD_LIBS)
GINCLUDES ?= $(DEFAULT_GINCLUDES)
GLIBRARY_DIRS ?= $(DEFAULT_GLIBRARY_DIRS)
GLIBRARIES ?= $(DEFAULT_GLIBRARIES)
LINCLUDES ?=
LLIBRARY_DIRS ?=
LLIBRARIES ?=
LNEWDIRS ?=
NEWDIRS ?= $(if $(SRCS),$(OBJDIR) $(DEPENDDIR)) \
$(if $(TARGET_LIB),$(LIBDIR)) \
$(if $(TARGET_BIN)$(TARGET_NEF),$(BINDIR)) \
$(LNEWDIRS)
GDIRT_CLEAN_DIRS := ./obj ./bin ./lib ./depend
GDIRT_CLOBBER_DIRS :=
endif
#----------------------------------------------------------------------------
# MY BUILD TOOLS
#
MAKELCF := $(CTR_TOOLSDIR)/bin/makelcf.exe
MAKEBANNER := $(CTR_TOOLSDIR)/bin/makebanner.exe
ADDBANNER := $(CTR_TOOLSDIR)/bin/addbanner.exe
NTEXCONV := $(CTR_TOOLSDIR)/bin/ntexconv.exe
COMPSTATIC := $(CTR_TOOLSDIR)/bin/compstatic.exe
MAKEROM := $(CTR_TOOLSDIR)/bin/makerom.exe
EMUCHILD := $(CTR_TOOLSDIR)/bin/emuchild.exe
ATTACHSIGN := $(CTR_TOOLSDIR)/bin/attachsign.exe
BIN2OBJ := $(CTR_TOOLSDIR)/bin/bin2obj.exe
MAKELCF_FLAGS ?=
MAKEBANNER_FLAGS ?=
MAKEROM_FLAGS ?=
COMPSTATIC_FLAGS ?=
DEFAULT_COMP_ARM9 ?= $(if $(findstring TEG,$(CTR_PLATFORM)),ferret,mongoose)
DEFAULT_ADDRESS_DTCM ?= $(if $(findstring TEG,$(CTR_PLATFORM)),0x02380000,0x027e0000)
DEFAULT_COMPSUFFIX ?= _LZ
DEFAULT_MAKEROM_ARM11 = $(CTR_COMPONENTSDIR)/printserver/$(CTR_BUILDTYPE_ARM9)/main.nef
DEFAULT_MAKEROM_ARM9 = $(CTR_COMPONENTSDIR)/$(DEFAULT_COMP_ARM9)/$(CTR_BUILDTYPE_ARM7)/$(DEFAULT_COMP_ARM9)_sub$(TS_VERSION).nef
DEFAULT_MAKEROM_ROMROOT := ./files
DEFAULT_MAKEROM_ROMFILES :=
DEFAULT_MAKEROM_ROMSPEED ?= $(CTR_ROMSPEED)
#----------------------------------------------------------------------------
# LIST OF JUNKS for "make
#
GDIRT_CLEAN = a.out core *~ *.bak \\\#*\\\# $(GDIRT_CLEAN_DIRS)
GDIRT_CLOBBER = $(GDIRT_CLOBBER_DIRS)
GDIRT_INSTALLED = $(addprefix $(INSTALL_DIR)/,$(notdir $(INSTALL_TARGETS)))
#----------------------------------------------------------------------------
# CTRSDK_INSTALL_ROOT
#
ifdef CTRSDK_INSTALL_ROOT
CTRSDK_INSTALL_ROOT_ := $(CTRSDK_INSTALL_ROOT)
else
CTRSDK_INSTALL_ROOT_ := $(CTRSDK_ROOT)
endif
CTR_INSTALL_ROOT := $(subst $(SPACE),\ ,$(subst \,/,$(CTRSDK_INSTALL_ROOT_)))
CTR_INSTALL_INCDIR := $(CTR_INSTALL_ROOT)/include
CTR_INSTALL_TOOLSDIR := $(CTR_INSTALL_ROOT)/tools
CTR_INSTALL_LIBDIR := $(CTR_INSTALL_ROOT)/lib/$(CTR_LIBTYPE)
CTR_INSTALL_COMPONENTSDIR := $(CTR_INSTALL_ROOT)/components
CTR_INSTALL_ADDINS := $(CTR_INSTALL_ROOT)/add-ins
#----------------------------------------------------------------------------
# PRIVATE FLAGS
#
-include $(CTR_BUILDTOOLSDIR)/_privatedefs
-include $(CTR_BUILDTOOLSDIR)/@privatedefs
#----------------------------------------------------------------------------
# Compiler flags
#
MACRO_FLAGS += -DSDK_DEBUGGER_$(CTR_DEBUGGER)
#----------------------------------------------------------------------------
# Load add-ins' commondefs
#
-include $(CTR_BUILDTOOLSDIR)/commondefs.add-ins.*
#----------------------------------------------------------------------------
# DEFAULT TARGET
#
ifdef CTR_UTEST
default all: utest
else
default all: build
endif
#----------------------------------------------------------------------------
endif # CTRSDK_COMMONDEFS_
#----- End of commondefs -----