mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@8 b08762b0-b915-fc4b-9d8c-17b2551a87ff
93 lines
2.9 KiB
Makefile
93 lines
2.9 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)
|
|
$(MAKENORFIRM) $(MAKEFIRM_FLAGS) $(MAKEFIRM_DEFS) $(FIRM_SPEC) $@
|
|
|
|
# .nand
|
|
$(BINDIR)/%.nand: $(SDEPENDS_BIN) $(FIRM_SPEC) $(LDEPENDS_BIN) $(EDEPENDS_BIN) $(MAKEFILE) $(MAKENANDFIRM)
|
|
$(MAKENANDFIRM) $(MAKEFIRM_FLAGS) $(MAKEFIRM_DEFS) $(FIRM_SPEC) $@
|
|
|
|
# .gcd
|
|
$(BINDIR)/%.gcd: $(SDEPENDS_BIN) $(FIRM_SPEC) $(LDEPENDS_BIN) $(EDEPENDS_BIN) $(MAKEFILE) $(MAKEGCDFIRM)
|
|
$(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 -----
|