#! 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 ?= TS 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) # # PMIC Revision # TWL_PMIC_REV ?= 100 # # Debugger Type # # one of [ISD/KMC/ARM] # ifeq ($(TWL_PLATFORM),TS) TWL_DEBUGGER ?= ISD else ifeq ($(TWL_PLATFORM),BB) TWL_DEBUGGER ?= KMC endif endif #---------------------------------------------------------------------------- # 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) ifneq ($(TWL_PLATFORM),DSTEG) ifeq ($(CODEGEN_PROC),ARM9) TWL_LIBSYSCALL ?= $(TWL_LIBSYSCALLDIR)/libsyscall.twl.a else # ($(CODEGEN_PROC),ARM7) TWL_LIBSYSCALL ?= $(TWL_LIBSYSCALLDIR)/libsyscall_sp.twl.a endif # ($(CODEGEN_PROC),ARM7) endif # ($(TWL_PLATFORM),DSTEG) ### Compiler & Linker settings # replace NitroSDK LCFILE_TEMPLATE ?= $(DEFAULT_TWL_LCFILE_TEMPLATE) LCFILE_SPEC ?= $(DEFAULT_TWL_LCFILE_SPEC) LDEPENDS_LCF += $(TWL_BUILDTOOLSDIR)/commondefs LDEPENDS_RES += $(TWL_BUILDTOOLSDIR)/commondefs ### SDK Library settings CRT0_O ?= crt0.o ifeq ($(CODEGEN_PROC),ARM9) TWL_LIBS_BASE ?= \ libos \ libpxi \ libmi \ libvlink \ libctrdg \ libaes \ libcamera \ libdsp \ libspi \ libtwlmic \ 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 \ libpm_sp \ libtp_sp \ libaes_sp \ libi2c_sp \ libcdc_sp \ libsnd_sp \ libcamera_sp \ libtwlmic_sp \ libmic_sp \ ifdef TWL_PROFILE_TYPE TWL_LIBS_BASE += libos_sp.$(TWL_PROFILE_TYPE) endif endif TWL_LIBS ?= $(addsuffix $(TWL_LIBSUFFIX).a,$(TWL_LIBS_BASE)) \ $(notdir $(TWL_LIBSYSCALL)) \ 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 #---------------------------------------------------------------------------- ### Debugger settings include $(TWL_BUILDTOOLSDIR)/commondefs.emtype.ISD #---------------------------------------------------------------------------- ### Global Library resettings GINCLUDES := $(TWL_INCDIR) $(TWL_ISD_INCDIRS) $(GINCLUDES) GLIBRARY_DIRS := $(TWL_LIBDIR) $(dir $(TWL_LIBSYSCALL)) $(TWL_ISD_LIBDIRS) $(GLIBRARY_DIRS) GLIBRARIES := $(TWL_LIBS) $(TWL_ISD_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 #---------------------------------------------------------------------------- # PRIVATE FLAGS # -include $(TWL_BUILDTOOLSDIR)/_privatedefs -include $(TWL_BUILDTOOLSDIR)/@privatedefs #---------------------------------------------------------------------------- # Compiler flags # MACRO_FLAGS += -DTWL_PLATFORM_$(TWL_PLATFORM) MACRO_FLAGS += -DSDK_DEBUGGER_$(TWL_DEBUGGER) MACRO_FLAGS += -DSDK_PMIC_REV=$(TWL_PMIC_REV) #---------------------------------------------------------------------------- ### Work-around # # DS-TEGではバイトアクセス不可のため ifeq ($(TWL_PLATFORM),DSTEG) CCFLAGS_PROC += $(CW_AVOID_STRB) endif #---------------------------------------------------------------------------- endif # TWLSDK_COMMONDEFS_ #----- End of commondefs -----