mirror of
https://github.com/rvtr/twl_wrapsdk.git
synced 2025-06-18 14:25:43 -04:00

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@328 4ee2a332-4b2b-5046-8439-1ba90f034370
307 lines
7.6 KiB
Makefile
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 -----
|