ctr_firmware/trunk/bootrom/build/buildtools/modulerules
nakasima e544a75616 NE1用ROM生成ルールを追加。
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@191 b871894f-2f95-9b40-918c-086798483c85
2009-01-20 11:32:44 +00:00

105 lines
3.3 KiB
Makefile

#! make -f
#----------------------------------------------------------------------------
# Project: CtrBrom - modulerules - common rules for build system
# File: modulerules
#
# Copyright 2008 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:: $
# $Rev$
# $Author$
#----------------------------------------------------------------------------
ifndef BROM_MODULERULES_
ifdef MAKEFIRM_ARM11
MAKEROM_ARM11 = $(MAKEFIRM_ARM11)
endif
ifdef MAKEFIRM_ARM9
MAKEROM_ARM9 = $(MAKEFIRM_ARM9)
endif
#----------------------------------------------------------------------------
### CTR-modulerules
#
include $(CTRFIRM_ROOT)/build/buildtools/modulerules
#----------------------------------------------------------------------------
#
# MAKENORFIRM / MAKENANDFIRM / MAKEGCDFIRM
#
MAKEFIRM_ARM9 ?= $(MAKEROM_ARM9)
MAKEFIRM_ARM7 ?= $(MAKEROM_ARM7)
MAKEFIRM_DEFS += -DFIRM_ROOT='$(BROM_CTRFIRM_ROOT)' \
-DMAKEFIRM_ARM11='$(basename $(MAKEFIRM_ARM11))' \
-DMAKEFIRM_ARM9='$(basename $(MAKEFIRM_ARM9))' \
-DMAKEFIRM_RSA_PRVKEY='$(MAKEFIRM_RSA_PRVKEY)' \
SDEPENDS_BIN += $(MAKEFIRM_RSA_PRVKEY)
.PHONY: bromtop bromlib bromdbg
bromtop:
@$(MAKE) -C $(CTRBROM_ROOT)
bromlib:
@$(MAKE) -C $(CTRBROM_ROOT)/build/libraries
bromdbg:
@$(TOUCH) $(BROM_LDEPENDS_DBG)
@$(MAKE) -C $(CTRBROM_ROOT)/build/libraries/os
@+$(REMAKE)
# .srl
# .nor
$(BINDIR)/%.srl $(BINDIR)/%.nor: $(SDEPENDS_BIN) $(FIRM_SPEC) $(LDEPENDS_BIN) $(EDEPENDS_BIN) $(MAKEFILE) $(MAKENORFIRM) $(MAKEFIRM_RSA_PRVKEY)
$(MAKENORFIRM) $(MAKEFIRM_FLAGS) $(MAKEFIRM_DEFS) $(FIRM_SPEC) $@
# .nand
$(BINDIR)/%.srl $(BINDIR)/%.nand: $(SDEPENDS_BIN) $(FIRM_SPEC) $(LDEPENDS_BIN) $(EDEPENDS_BIN) $(MAKEFILE) $(MAKENANDFIRM) $(MAKEFIRM_RSA_PRVKEY)
$(MAKENANDFIRM) $(MAKEFIRM_FLAGS) $(MAKEFIRM_DEFS) $(FIRM_SPEC) $@
# .gcd
$(BINDIR)/%.srl $(BINDIR)/%.gcd: $(SDEPENDS_BIN) $(FIRM_SPEC) $(LDEPENDS_BIN) $(EDEPENDS_BIN) $(MAKEFILE) $(MAKEGCDFIRM) $(MAKEFIRM_RSA_PRVKEY)
$(MAKEGCDFIRM) $(MAKEFIRM_FLAGS) $(MAKEFIRM_DEFS) $(FIRM_SPEC) $@
# .sbin
$(BINDIR)/$(TARGET_BIN_BASENAME).sbin: $(BINDIR)/$(TARGET_BIN_BASENAME).axf $(BINDIR)/$(TARGET_BIN_BASENAME).txt
objcopy -I elf32-little -O binary $< $@
# $(FROMELF) --bin -o $@ $<
# .padbin
$(BINDIR)/$(TARGET_BIN_BASENAME).padbin: $(BINDIR)/$(TARGET_BIN_BASENAME).sbin
objcopy -I binary -O binary --pad-to $(EXO_SBIN_SIZE) --gap-fill 0x00 $< $@
ifeq ($(CTR_PLATFORM),NE1EMU)
ifeq ($(CTR_PROC),ARM11)
cat $@ $@ > $(basename $@).ne1.padbin
endif
endif
# .txt
$(BINDIR)/$(TARGET_BIN_BASENAME).txt: $(BINDIR)/$(TARGET_BIN_BASENAME).axf
$(FROMELF) --32x1 -cd -o $@ $<
# .exo
$(BINDIR)/$(TARGET_BIN_BASENAME).exo: $(BINDIR)/$(TARGET_BIN_BASENAME).sbin
objcopy -I binary -O srec $< $@
#----------------------------------------------------------------------------
BROM_MODULERULES_ = TRUE
endif # BROM_MODULERULES_
#----- End of modulerules -----