#! 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_ ifneq ($(MAKEFIRM_ARM9),) MAKEROM_ARM9 = $(MAKEFIRM_ARM9) endif ifneq ($(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 $(TWLIPL_ROOT)/build firmlib: @$(MAKE) -C $(TWLIPL_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).tef #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 -----