twl_wrapsdk/build/buildtools/commondefs
nakasima bac3d6b229 TWL_TS_VERSIONを有効に。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@328 4ee2a332-4b2b-5046-8439-1ba90f034370
2008-03-21 07:36:48 +00:00

307 lines
7.6 KiB
Makefile

#! 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
#
# TS Board Version
# TWL_TS_VERSION = [200/300/400]
#
TWL_TS_VERSION ?= 400
TS_VERSION ?= $(if $(TWL_TS_VERSION),_TS$(TWL_TS_VERSION))
# 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)
MACRO_FLAGS += $(if $(TWL_TS_VERSION),-DSDK_TS_VERSION=$(TWL_TS_VERSION),)
#----------------------------------------------------------------------------
### Work-around
#
# DS-TEGではバイトアクセス不可のため
ifeq ($(TWL_PLATFORM),DSTEG)
CCFLAGS_PROC += $(CW_AVOID_STRB)
endif
#----------------------------------------------------------------------------
endif # TWLSDK_COMMONDEFS_
#----- End of commondefs -----