#! 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).dasm 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 # .dasm $(BINDIR)/$(TARGET_BIN_BASENAME).dasm: $(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 -----