TwlIPL/build/buildtools/modulerules
yosiokat 9501084c1d ・NORファームがビルドできるよう変更。
・とりあえずテスト用にnorfirm-printがビルドできるように変更。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@7 b08762b0-b915-fc4b-9d8c-17b2551a87ff
2007-09-06 08:37:12 +00:00

93 lines
3.0 KiB
Makefile

#! make -f
#----------------------------------------------------------------------------
# Project: TwlFirm - modulerules - common rules for build system
# File: modulerules
#
# 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_MODULERULES_
ifdef MAKEFIRM_ARM9
MAKEROM_ARM9 = $(MAKEFIRM_ARM9)
endif
ifdef MAKEFIRM_ARM7
MAKEROM_ARM7 = $(MAKEFIRM_ARM7)
endif
#----------------------------------------------------------------------------
### TWL-modulerules
#
include $(TWLSDK_ROOT)/build/buildtools/modulerules
#----------------------------------------------------------------------------
#
# MAKENORFIRM / MAKENANDFIRM / MAKEGCDFIRM
#
MAKEFIRM_ARM9 ?= $(MAKEROM_ARM9)
MAKEFIRM_ARM7 ?= $(MAKEROM_ARM7)
MAKEFIRM_DEFS += -DFIRM_ROOT='$(FIRM_ROOT)' \
-DMAKEFIRM_ARM9='$(basename $(MAKEFIRM_ARM9))' \
-DMAKEFIRM_ARM7='$(basename $(MAKEFIRM_ARM7))' \
-DMAKEFIRM_RSA_PRVKEY='$(MAKEFIRM_RSA_PRVKEY)' \
SDEPENDS_BIN += $(MAKEFIRM_RSA_PRVKEY)
.PHONY: firmtop firmlib
firmtop:
@$(MAKE) -C $(TWLFIRM_ROOT)/build
firmlib:
@$(MAKE) -C $(TWLFIRM_ROOT)/build/libraries
# .nor
$(BINDIR)/%.nor: $(SDEPENDS_BIN) $(FIRM_SPEC) $(LDEPENDS_BIN) $(EDEPENDS_BIN) $(MAKEFILE) $(MAKENORFIRM) $(MAKEFIRM_RSA_PRVKEY)
$(MAKENORFIRM) $(MAKEFIRM_FLAGS) $(MAKEFIRM_DEFS) $(FIRM_SPEC) $@
# .nand
$(BINDIR)/%.nand: $(SDEPENDS_BIN) $(FIRM_SPEC) $(LDEPENDS_BIN) $(EDEPENDS_BIN) $(MAKEFILE) $(MAKENANDFIRM) $(MAKEFIRM_RSA_PRVKEY)
$(MAKENANDFIRM) $(MAKEFIRM_FLAGS) $(MAKEFIRM_DEFS) $(FIRM_SPEC) $@
# .gcd
$(BINDIR)/%.gcd: $(SDEPENDS_BIN) $(FIRM_SPEC) $(LDEPENDS_BIN) $(EDEPENDS_BIN) $(MAKEFILE) $(MAKEGCDFIRM) $(MAKEFIRM_RSA_PRVKEY)
$(MAKEGCDFIRM) $(MAKEFIRM_FLAGS) $(MAKEFIRM_DEFS) $(FIRM_SPEC) $@
# .rbin
$(BINDIR)/$(TARGET_BIN_BASENAME).rbin: $(OBJS)
objcopy -I elf32-little -O binary $< $@
# .axf
$(BINDIR)/$(TARGET_BIN_BASENAME).axf: $(OBJS) $(LCFILE) $(MAKEFILE) $(LDEPENDS_NEF) $(EDEPENDS_NEF) $(ALIBRARIES) $(LDRES_FILE) $(CW_LIBCXX)
ifeq ($(NITRO_CCTYPE),RVCT)
$(LD) $(LDFLAGS) $(LIBRARY_DIRS) -o $@ $(GLIBRARIES) $(OBJS)
else
$(LD) $(LDFLAGS) $(LIBRARY_DIRS) @$(LDRES_FILE) $(LCFILE) -o $@
ifeq ($(TWL_PLATFORM),TS)
cp $(BINDIR)/$(TARGET_BIN_BASENAME).axf $(BINDIR)/$(TARGET_BIN_BASENAME).nef
else # ($(TWL_PLATFORM),BB)
ifdef FIRM_STRIP_AXF
$(OBJCOPY) $@ $(BINDIR)/$(TARGET_BIN_BASENAME).sbin
endif
endif
endif
#----------------------------------------------------------------------------
TWLFIRM_MODULERULES_ = TRUE
endif # TWLFIRM_MODULERULES_
#----- End of modulerules -----