#! make -f #---------------------------------------------------------------------------- # Project: TwlFirm - 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. # # $Date:: 2007-09-06$ # $Rev$ # $Author$ #---------------------------------------------------------------------------- ifndef TWLFIRM_COMMONDEFS_ TWLFIRM_COMMONDEFS_ = TRUE NITRO_NO_STD_PCHDR = TRUE # プリコンパイルヘッダ抑止 ifndef TWL_KEYSDIR DUMMY_KEYS_SUFFIX = .dummykey endif TWL_KEYSDIR ?= $(FIRM_ROOT)/keys/dummy ifneq ($(filter FIRM GCDFIRM,$(FIRM_TARGET)),) TARGET_BIN ?= $(subst .,$(DUMMY_KEYS_SUFFIX).,$(TARGET_FIRM_BIN)) endif EMPTY ?= SPACE ?= $(EMPTY) $(EMPTY) # # CodeGen Target # # FIRM_PLATFORM = [BB/EVA/TS] # FIRM_MEMSIZE = [16M/32M] # FIRM_CODEGEN = [ARM/THUMB] # FIRM_PROC = [ARM9/ARM7] # # FIRM_TARGET = [FIRM/GCDFIRM/APP] # FIRM_PLATFORM ?= TS FIRM_MEMSIZE ?= 16M FIRM_CODEGEN ?= ARM FIRM_PROC ?= ARM9 FIRM_TARGET ?= APP # replace TwlSDK TWL_PLATFORM = $(FIRM_PLATFORM) TWL_MEMSIZE = $(FIRM_MEMSIZE) TWL_CODEGEN = $(FIRM_CODEGEN) TWL_PROC = $(FIRM_PROC) # replace NitroSDK ifndef CODEGEN_PROC CODEGEN_PROC := $(FIRM_PROC) endif ifeq ($(FIRM_CODEGEN),ALL) FIRM_CODEGEN_ALL ?= TRUE override FIRM_CODEGEN = ARM endif ifeq ($(FIRM_CODEGEN),ARM) FIRM_CODEGEN_ARCH = else # ($(FIRM_CODEGEN),THUMB) FIRM_CODEGEN_ARCH = .thumb endif # # SDK build type # # one of [FIRM_DEBUG/FIRM_RELEASE/FIRM_FINALROM] # ifdef FIRM_DEBUG FIRM_BUILD_TYPE ?= DEBUG FIRM_BUILD_DIR ?= Debug else ifdef FIRM_FINALROM FIRM_BUILD_TYPE ?= FINALROM FIRM_BUILD_DIR ?= Rom else # FIRM_RELEASE (default) FIRM_BUILD_TYPE ?= RELEASE FIRM_BUILD_DIR ?= Release endif endif # replace TwlSDK TWL_BUILD_TYPE ?= $(FIRM_BUILD_TYPE) TWL_BUILD_DIR ?= $(FIRM_BUILD_DIR) #---------------------------------------------------------------------------- # TWL-FIRM path settings # FIRM_ROOT := $(subst $(SPACE),\ ,$(subst \,/,$(TWLIPL_ROOT))) FIRM_BUILDTOOLSDIR := $(FIRM_ROOT)/build/buildtools FIRM_BUILDSETUPDIR := $(FIRM_ROOT)/build/buildsetup FIRM_INCDIR := $(FIRM_ROOT)/include FIRM_TOOLSDIR := $(FIRM_ROOT)/tools FIRM_COMPONENTSDIR := $(FIRM_ROOT)/components FIRM_ADDINS ?= $(FIRM_ROOT)/add-ins FIRM_TWLSDK_ROOT ?=$(shell cygpath -w $(TWLSDK_ROOT)) FIRM_NITROSDK_ROOT ?=$(shell cygpath -w $(NITROSDK_ROOT)) FIRM_BUILDARCH ?= $(CODEGEN_PROC)-$(FIRM_PLATFORM)$(FIRM_CODEGEN_ARCH) FIRM_BUILDARCH_ARM9 := ARM9-$(FIRM_PLATFORM)$(FIRM_CODEGEN_ARCH) FIRM_BUILDARCH_ARM7 := ARM7-$(FIRM_PLATFORM)$(FIRM_CODEGEN_ARCH) FIRM_BUILDTYPE ?= $(FIRM_BUILDARCH)/$(FIRM_BUILD_DIR) FIRM_BUILDTYPE_ARM9 := $(FIRM_BUILDARCH_ARM9)/$(FIRM_BUILD_DIR) FIRM_BUILDTYPE_ARM7 := $(FIRM_BUILDARCH_ARM7)/$(FIRM_BUILD_DIR) FIRM_LIBARCH := $(CODEGEN_PROC)-$(FIRM_PLATFORM) FIRM_LIBTYPE := $(FIRM_LIBARCH)/$(FIRM_BUILD_DIR) FIRM_LIBDIR := $(FIRM_ROOT)/lib/$(FIRM_LIBTYPE) FIRM_LIBSYSCALLDIR := $(FIRM_ROOT)/lib/$(FIRM_LIBARCH)/etc FIRM_LIBSUFFIX := .firm$(FIRM_CODEGEN_ARCH) FIRM_SPECDIR := $(FIRM_INCDIR)/firm/specfiles FIRM_LSFARCH := $(FIRM_LIBARCH) ifneq ($(FIRM_TARGET),APP) FIRM_LSFARCH := $(addsuffix -$(FIRM_TARGET),$(FIRM_LSFARCH)) endif # FIRM_TARGET!=APP FIRM_LCFARCH := $(FIRM_LSFARCH) DEFAULT_FIRM_LCFILE := $(FIRM_SPECDIR)/$(FIRM_LCFARCH).lcf DEFAULT_FIRM_LCFILE_TEMPLATE := $(FIRM_SPECDIR)/$(FIRM_LCFARCH)$(LCF_SUFFIX_).lcf.template DEFAULT_FIRM_LCFILE_SPEC := $(FIRM_SPECDIR)/$(FIRM_LSFARCH).lsf DEFAULT_FIRM_ROM_SPEC := $(FIRM_SPECDIR)/ROM-$(FIRM_PLATFORM).rsf # replace TwlSDK TWL_BUILDARCH ?= $(FIRM_BUILDARCH) ### Compiler & Linker settings # replace NitroSDK ifneq ($(FIRM_TARGET),APP) LCFILE_TEMPLATE ?= $(DEFAULT_FIRM_LCFILE_TEMPLATE) LCFILE_SPEC ?= $(DEFAULT_FIRM_LCFILE_SPEC) ROM_SPEC ?= $(DEFAULT_FIRM_ROM_SPEC) endif # FIRM_TARGET!=APP LDEPENDS_LCF += $(FIRM_BUILDTOOLSDIR)/commondefs LDEPENDS_RES += $(FIRM_BUILDTOOLSDIR)/commondefs ### SDK Library settings ifeq ($(CODEGEN_PROC),ARM9) FIRM_LIBS_BASE ?= \ libos \ libmi \ libpxi \ # libgcd \ # libacsign \ FIRM_TWL_LIBS_BASE ?= \ else # ($(CODEGEN_PROC),ARM7) FIRM_LIBS_BASE ?= \ libos_sp \ libfatfs_sp \ libpxi_sp \ libaes_sp \ libpm_sp \ # libnvram_sp \ # libgcd_sp \ # libacsign_sp \ # libfirmsd_sp \ FIRM_TWL_LIBS_BASE ?= \ endif FIRM_LIBS ?= $(addsuffix $(FIRM_LIBSUFFIX).a,$(FIRM_LIBS_BASE)) FIRM_LIBS += $(addsuffix $(TWL_LIBSUFFIX).a,$(FIRM_TWL_LIBS_BASE)) #---------------------------------------------------------------------------- ### TWL-commondefs # include $(TWLSDK_ROOT)/build/buildtools/commondefs #---------------------------------------------------------------------------- # MY BUILD TOOLS # MAKENORFIRM := $(FIRM_TOOLSDIR)/bin/makenorfirm.exe MAKENANDFIRM := $(FIRM_TOOLSDIR)/bin/makenandfirm.exe MAKEGCDFIRM := $(FIRM_TOOLSDIR)/bin/makegcdfirm.exe OPENSSL := $(FIRM_TOOLSDIR)/openssl/openssl.exe MAKEFIRM_RSA_PRVKEY ?= $(FIRM_TOOLSDIR)/openssl/rsa_private.der MAKEFIRM_RSA_PUBKEY ?= $(FIRM_TOOLSDIR)/openssl/rsa_public.der MAKEFIRM_FLAGS ?= ifneq ($(filter FIRM GCDFIRM,$(FIRM_TARGET)),) FIRM_STRIP_AXF := TRUE endif #---------------------------------------------------------------------------- ### Global Library resettings GINCLUDES := $(FIRM_INCDIR) $(GINCLUDES) GLIBRARY_DIRS := $(FIRM_LIBDIR) $(GLIBRARY_DIRS) GLIBRARIES := $(FIRM_LIBS) $(GLIBRARIES) #---------------------------------------------------------------------------- # TWLFIRM_INSTALL_ROOT # ifdef TWLFIRM_INSTALL_ROOT TWLFIRM_INSTALL_ROOT_ := $(TWLFIRM_INSTALL_ROOT) else TWLFIRM_INSTALL_ROOT_ := $(TWLIPL_ROOT) endif FIRM_INSTALL_ROOT := $(subst $(SPACE),\ ,$(subst \,/,$(TWLFIRM_INSTALL_ROOT_))) FIRM_INSTALL_INCDIR := $(FIRM_INSTALL_ROOT)/include FIRM_INSTALL_TOOLSDIR := $(FIRM_INSTALL_ROOT)/tools FIRM_INSTALL_LIBDIR := $(FIRM_INSTALL_ROOT)/lib/$(FIRM_LIBTYPE) FIRM_INSTALL_PROMDIR := $(FIRM_INSTALL_TOOLSDIR)/prom FIRM_INSTALL_COMPONENTSDIR := $(FIRM_INSTALL_ROOT)/components FIRM_INSTALL_ADDINS := $(FIRM_INSTALL_ROOT)/add-ins #---------------------------------------------------------------------------- # Compiler flags # MACRO_FLAGS += -DFIRM_TARGET_$(FIRM_TARGET) #---------------------------------------------------------------------------- # Makelcf change for build firmware # ifneq ($(filter FIRM GCDFIRM,$(FIRM_TARGET)),) MAKELCF := $(TWLSDK_ROOT)/tools/bin/makelcf.exe endif #---------------------------------------------------------------------------- endif # TWLFIRM_COMMONDEFS_ #----- End of commondefs -----