mirror of
https://github.com/rvtr/twl_wrapsdk.git
synced 2025-06-18 14:25:43 -04:00
195 lines
5.3 KiB
Makefile
195 lines
5.3 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 = [TEG/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
|
|
|
|
NITRO_PLATFORM = $(TWL_PLATFORM)
|
|
NITRO_MEMSIZE = $(TWL_MEMSIZE)
|
|
NITRO_CODEGEN = $(TWL_CODEGEN)
|
|
NITRO_PROC = $(TWL_PROC)
|
|
|
|
ifndef TWL_CODEGEN_PROC
|
|
TWL_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
|
|
|
|
#
|
|
# 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 ?=$(shell cygpath -w $(NITROSDK_ROOT))
|
|
|
|
TWL_BUILDARCH ?= $(TWL_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 := $(TWL_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
|
|
|
|
|
|
### Compiler & Linker settings
|
|
|
|
LCFILE_TEMPLATE ?= $(DEFAULT_TWL_LCFILE_TEMPLATE)
|
|
LCFILE_SPEC ?= $(DEFAULT_TWL_LCFILE_SPEC)
|
|
|
|
|
|
### SDK Library settings
|
|
|
|
CRT0_O ?= crt0.o
|
|
|
|
ifeq ($(TWL_CODEGEN_PROC),ARM9)
|
|
|
|
TWL_LIBS ?= \
|
|
libos$(TWL_LIBSUFFIX).a \
|
|
libmi$(TWL_LIBSUFFIX).a \
|
|
libvlink$(TWL_LIBSUFFIX).a \
|
|
|
|
ifdef TWL_PROFILE_TYPE
|
|
TWL_LIBS += libos.$(TWL_PROFILE_TYPE)$(TWL_LIBSUFFIX).a
|
|
endif
|
|
|
|
else # ($(TWL_CODEGEN_PROC),ARM7)
|
|
|
|
TWL_LIBS ?= \
|
|
libos_sp$(TWL_LIBSUFFIX).a \
|
|
libmi_sp$(TWL_LIBSUFFIX).a \
|
|
libvlink_sp$(TWL_LIBSUFFIX).a \
|
|
|
|
ifdef TWL_PROFILE_TYPE
|
|
TWL_LIBS += libos_sp.$(TWL_PROFILE_TYPE)$(TWL_LIBSUFFIX).a
|
|
endif
|
|
|
|
endif
|
|
|
|
#----------------------------------------------------------------------------
|
|
### NITRO-commondefs
|
|
#
|
|
include $(NITROSDK_ROOT)/build/buildtools/commondefs
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
### Global Library resettings
|
|
|
|
GINCLUDES := $(TWL_INCDIR) $(GINCLUDES)
|
|
GLIBRARY_DIRS := $(TWL_LIBDIR) $(GLIBRARY_DIRS)
|
|
GLIBRARIES := $(TWL_LIBS) \
|
|
$(filter-out libos$(NITRO_LIBSUFFIX).a libos_sp$(NITRO_LIBSUFFIX).a \
|
|
libmi$(NITRO_LIBSUFFIX).a libmi_sp$(NITRO_LIBSUFFIX).a \
|
|
,$(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
|
|
#
|
|
# TEGではバイトアクセス不可のため
|
|
CCFLAGS_PROC += $(CW_AVOID_STRB)
|
|
|
|
|
|
#----------------------------------------------------------------------------
|
|
endif # TWLSDK_COMMONDEFS_
|
|
#----- End of commondefs -----
|