#! make -f #---------------------------------------------------------------------------- # Project: TwlSDK - commondefs - common definitions for build system # File: commondefs # # 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. # # $Log: $ # $NoKeywords: $ #---------------------------------------------------------------------------- ifndef TWLSDK_COMMONDEFS_ TWLSDK_COMMONDEFS_ = TRUE NITRO_NO_STD_PCHDR = TRUE # プリコンパイルヘッダ抑止 EMPTY ?= SPACE ?= $(EMPTY) $(EMPTY) # # SDK Major Version # TWLSDK_VERSION_MAJOR ?= 0 # # CodeGen Target # # TWL_PLATFORM = [DSTEG/BB/EVA/TS] # TWL_MEMSIZE = [4M/8M] # TWL_CODEGEN = [ARM/THUMB] # TWL_PROC = [ARM9/ARM7] # TWL_PLATFORM ?= BB TWL_MEMSIZE ?= 8M TWL_CODEGEN ?= ARM TWL_PROC ?= ARM9 # replace NitroSDK NITRO_PLATFORM = TS NITRO_MEMSIZE = $(TWL_MEMSIZE) NITRO_CODEGEN = $(TWL_CODEGEN) NITRO_PROC = $(TWL_PROC) # replace NitroSDK ifndef CODEGEN_PROC CODEGEN_PROC := $(TWL_PROC) endif ifeq ($(TWL_CODEGEN),ALL) TWL_CODEGEN_ALL ?= TRUE override TWL_CODEGEN = ARM endif ifeq ($(TWL_CODEGEN),ARM) TWL_CODEGEN_ARCH = else # ($(TWL_CODEGEN),THUMB) TWL_CODEGEN_ARCH = .thumb endif # # SDK build type # # one of [TWL_DEBUG/TWL_RELEASE/TWL_FINALROM] # ifdef TWL_DEBUG TWL_BUILD_TYPE ?= DEBUG TWL_BUILD_DIR ?= Debug else ifdef TWL_FINALROM TWL_BUILD_TYPE ?= FINALROM TWL_BUILD_DIR ?= Rom else # TWL_RELEASE (default) TWL_BUILD_TYPE ?= RELEASE TWL_BUILD_DIR ?= Release endif endif # replace NitroSDK NITRO_BUILD_TYPE ?= $(TWL_BUILD_TYPE) NITRO_BUILD_DIR ?= $(TWL_BUILD_DIR) # # Debugger Type # # one of [ISD/KMC/ARM] # TWL_DEBUGGER ?= KMC #---------------------------------------------------------------------------- # TWL-SDK path settings # TWL_ROOT := $(subst $(SPACE),\ ,$(subst \,/,$(TWLSDK_ROOT))) TWL_BUILDTOOLSDIR := $(TWL_ROOT)/build/buildtools TWL_BUILDSETUPDIR := $(TWL_ROOT)/build/buildsetup TWL_INCDIR := $(TWL_ROOT)/include TWL_TOOLSDIR := $(TWL_ROOT)/tools TWL_COMPONENTSDIR := $(TWL_ROOT)/components TWL_ADDINS ?= $(TWL_ROOT)/add-ins TWL_NITROSDK_ROOT ?= $(subst $(SPACE),\ ,$(subst \,/,$(NITROSDK_ROOT))) TWL_BUILDARCH ?= $(CODEGEN_PROC)-$(TWL_PLATFORM)$(TWL_CODEGEN_ARCH) TWL_BUILDARCH_ARM9 := ARM9-$(TWL_PLATFORM)$(TWL_CODEGEN_ARCH) TWL_BUILDARCH_ARM7 := ARM7-$(TWL_PLATFORM)$(TWL_CODEGEN_ARCH) TWL_BUILDTYPE ?= $(TWL_BUILDARCH)/$(TWL_BUILD_DIR) TWL_BUILDTYPE_ARM9 := $(TWL_BUILDARCH_ARM9)/$(TWL_BUILD_DIR) TWL_BUILDTYPE_ARM7 := $(TWL_BUILDARCH_ARM7)/$(TWL_BUILD_DIR) TWL_LIBARCH := $(CODEGEN_PROC)-$(TWL_PLATFORM) TWL_LIBTYPE := $(TWL_LIBARCH)/$(TWL_BUILD_DIR) TWL_LIBDIR := $(TWL_ROOT)/lib/$(TWL_LIBTYPE) TWL_LIBSYSCALLDIR := $(TWL_ROOT)/lib/$(TWL_LIBARCH)/etc TWL_LIBSUFFIX := .twl$(TWL_CODEGEN_ARCH) TWL_SPECDIR := $(TWL_INCDIR)/twl/specfiles DEFAULT_TWL_LCFILE := $(TWL_SPECDIR)/$(TWL_LIBARCH).lcf DEFAULT_TWL_LCFILE_TEMPLATE := $(TWL_SPECDIR)/$(TWL_LIBARCH)$(LCF_SUFFIX_).lcf.template DEFAULT_TWL_LCFILE_SPEC := $(TWL_SPECDIR)/$(TWL_LIBARCH).lsf DEFAULT_TWL_ROM_SPEC := $(TWL_SPECDIR)/ROM-$(TWL_PLATFORM).rsf # replace NitroSDK NITRO_BUILDARCH ?= $(TWL_BUILDARCH) ### Compiler & Linker settings # replace NitroSDK LCFILE_TEMPLATE ?= $(DEFAULT_TWL_LCFILE_TEMPLATE) LCFILE_SPEC ?= $(DEFAULT_TWL_LCFILE_SPEC) ### SDK Library settings CRT0_O ?= crt0.o ifeq ($(CODEGEN_PROC),ARM9) TWL_LIBS_BASE ?= \ libos \ libpxi \ libmi \ libvlink \ libctrdg \ libaes \ ifdef TWL_PROFILE_TYPE TWL_LIBS_BASE += libos.$(TWL_PROFILE_TYPE) endif else # ($(CODEGEN_PROC),ARM7) TWL_LIBS_BASE ?= \ libos_sp \ libpxi_sp \ libmi_sp \ libvlink_sp \ libnvram_sp \ libaes_sp \ ifdef TWL_PROFILE_TYPE TWL_LIBS_BASE += libos_sp.$(TWL_PROFILE_TYPE) endif endif TWL_LIBS ?= $(addsuffix $(TWL_LIBSUFFIX).a,$(TWL_LIBS_BASE)) TWL_LDEPENDS_DBG ?= $(TWLSDK_ROOT)/build/libraries/os/common/os_printf.c \ #---------------------------------------------------------------------------- # CYGWIN TOOLS # CAT := cat OBJCOPY := objcopy TOUCH := touch #---------------------------------------------------------------------------- ### NITRO-commondefs # include $(NITROSDK_ROOT)/build/buildtools/commondefs #---------------------------------------------------------------------------- ifeq ($(NITRO_PROVATE),TRUE) TWL_PROVATE := TRUE endif ifeq ($(NITRO_WITH_ARM7),TRUE) TWL_WITH_ARM7 := TRUE endif #---------------------------------------------------------------------------- ### Global Library resettings GINCLUDES := $(TWL_INCDIR) $(GINCLUDES) GLIBRARY_DIRS := $(TWL_LIBDIR) $(GLIBRARY_DIRS) GLIBRARIES := $(TWL_LIBS) \ $(filter-out $(addsuffix $(NITRO_LIBSUFFIX).a,$(TWL_LIBS_BASE)),$(GLIBRARIES)) #---------------------------------------------------------------------------- # TWLSDK_INSTALL_ROOT # ifdef TWLSDK_INSTALL_ROOT TWLSDK_INSTALL_ROOT_ := $(TWLSDK_INSTALL_ROOT) else TWLSDK_INSTALL_ROOT_ := $(TWLSDK_ROOT) endif TWL_INSTALL_ROOT := $(subst $(SPACE),\ ,$(subst \,/,$(TWLSDK_INSTALL_ROOT_))) TWL_INSTALL_INCDIR := $(TWL_INSTALL_ROOT)/include TWL_INSTALL_TOOLSDIR := $(TWL_INSTALL_ROOT)/tools TWL_INSTALL_LIBDIR := $(TWL_INSTALL_ROOT)/lib/$(TWL_LIBTYPE) TWL_INSTALL_COMPONENTSDIR := $(TWL_INSTALL_ROOT)/components TWL_INSTALL_ADDINS := $(TWL_INSTALL_ROOT)/add-ins #---------------------------------------------------------------------------- # Compiler flags # MACRO_FLAGS += -DSDK_DEBUGGER_$(TWL_DEBUGGER) #---------------------------------------------------------------------------- ### Work-around # # DS-TEGではバイトアクセス不可のため ifeq ($(TWL_PLATFORM),DSTEG) CCFLAGS_PROC += $(CW_AVOID_STRB) endif #---------------------------------------------------------------------------- endif # TWLSDK_COMMONDEFS_ #----- End of commondefs -----