📄 makefile
字号:
# Makefile for making bootable images on various OpenFirmware machines.## Paul Mackerras January 1997# XCOFF bootable images for PowerMacs# Geert Uytterhoeven September 1997# ELF bootable iamges for CHRP machines.# Tom Rini January 2001# Cleaned up, moved into arch/ppc/boot/pmac# Tom Rini July/August 2002# Merged 'chrp' and 'pmac' into 'openfirmware', and cleaned up the# rules.zImage.initrd znetboot.initrd: del-ramdisk-sec := -R .ramdiskzImage.initrd znetboot.initrd: initrd := .initrdboot := arch/ppc/bootcommon := $(boot)/commonutils := $(boot)/utilsbootlib := $(boot)/libof1275 := $(boot)/of1275images := $(boot)/imagesOBJCOPY_ARGS := -O aixcoff-rs6000 -R .stab -R .stabstr -R .commentCOFF_LD_ARGS := -T $(srctree)/$(boot)/ld.script -e _start -Ttext 0x00500000 \ -BstaticCHRP_LD_ARGS := -T $(srctree)/$(boot)/ld.script -e _start -Ttext 0x00800000NEWWORLD_LD_ARGS:= -T $(srctree)/$(boot)/ld.script -e _start -Ttext 0x01000000COMMONOBJS := start.o misc.o common.oCOFFOBJS := coffcrt0.o $(COMMONOBJS) coffmain.oCHRPOBJS := crt0.o $(COMMONOBJS) chrpmain.oNEWWORLDOBJS := crt0.o $(COMMONOBJS) newworldmain.otargets := $(COFFOBJS) $(CHRPOBJS) $(NEWWORLDOBJS) dummy.oCOFFOBJS := $(addprefix $(obj)/, $(COFFOBJS))CHRPOBJS := $(addprefix $(obj)/, $(CHRPOBJS))NEWWORLDOBJS := $(addprefix $(obj)/, $(NEWWORLDOBJS))LIBS := lib/lib.a $(bootlib)/lib.a $(of1275)/lib.a $(common)/lib.aHACKCOFF := $(utils)/hack-coffifdef CONFIG_SMPEND := .smpendififdef CONFIG_PPC64BRIDGEEND += .64endif$(images)/ramdisk.image.gz: @echo ' MISSING $@' @echo ' RAM disk image must be provided separately' @/bin/falsequiet_cmd_genimage = GEN $@ cmd_genimage = $(OBJCOPY) -R .comment \ --add-section=.image=$(images)/vmlinux.gz \ --set-section-flags=.image=contents,alloc,load,readonly,data $< $@targets += image.o$(obj)/image.o: $(obj)/dummy.o $(images)/vmlinux.gz FORCE $(call if_changed,genimage)# Place the ramdisk in the initrd image.quiet_cmd_genimage-initrd = GEN $@ cmd_genimage-initrd = $(OBJCOPY) $< $@ \ --add-section=.ramdisk=$(images)/ramdisk.image.gz \ --set-section-flags=.ramdisk=contents,alloc,load,readonly,datatargets += image.initrd.o$(obj)/image.initrd.o: $(obj)/image.o $(images)/ramdisk.image.gz FORCE $(call if_changed,genimage-initrd)# Create the note section for New-World PowerMacs.quiet_cmd_mknote = MKNOTE $@ cmd_mknote = $(utils)/mknote > $@targets += note$(obj)/note: $(utils)/mknote FORCE $(call if_changed,mknote)$(obj)/coffcrt0.o: EXTRA_AFLAGS := -DXCOFFtargets += coffcrt0.o crt0.o$(obj)/coffcrt0.o $(obj)/crt0.o: $(common)/crt0.S FORCE $(call if_changed_dep,as_o_S)quiet_cmd_gencoffb = COFF $@ cmd_gencoffb = $(LD) -o $@ $(COFF_LD_ARGS) $(COFFOBJS) $< $(LIBS) && \ $(OBJCOPY) $@ $@ -R .comment $(del-ramdisk-sec)targets += coffboot$(obj)/coffboot: $(obj)/image.o $(COFFOBJS) $(LIBS) $(srctree)/$(boot)/ld.script FORCE $(call if_changed,gencoffb)targets += coffboot.initrd$(obj)/coffboot.initrd: $(obj)/image.initrd.o $(COFFOBJS) $(LIBS) \ $(srctree)/$(boot)/ld.script FORCE $(call if_changed,gencoffb)quiet_cmd_gen-coff = COFF $@ cmd_gen-coff = $(OBJCOPY) $(OBJCOPY_ARGS) $< $@ && \ $(HACKCOFF) $@ && \ ln -sf $(notdir $@) $(images)/zImage$(initrd).pmac$(images)/vmlinux.coff: $(obj)/coffboot $(call cmd,gen-coff)$(images)/vmlinux.initrd.coff: $(obj)/coffboot.initrd $(call cmd,gen-coff)quiet_cmd_gen-elf-pmac = ELF $@ cmd_gen-elf-pmac = $(LD) $(NEWWORLD_LD_ARGS) -o $@ \ $(NEWWORLDOBJS) $(LIBS) $< && \ $(OBJCOPY) $@ $@ --add-section=.note=$(obj)/note \ -R .comment $(del-ramdisk-sec)$(images)/vmlinux.elf-pmac: $(obj)/image.o $(NEWWORLDOBJS) $(LIBS) \ $(obj)/note $(srctree)/$(boot)/ld.script $(call cmd,gen-elf-pmac)$(images)/vmlinux.initrd.elf-pmac: $(obj)/image.initrd.o $(NEWWORLDOBJS) \ $(LIBS) $(obj)/note \ $(srctree)/$(boot)/ld.script $(call cmd,gen-elf-pmac)quiet_cmd_gen-chrp = CHRP $@ cmd_gen-chrp = $(LD) $(CHRP_LD_ARGS) -o $@ $(CHRPOBJS) $< $(LIBS) && \ $(OBJCOPY) $@ $@ -R .comment $(del-ramdisk-sec)$(images)/zImage.chrp: $(obj)/image.o $(CHRPOBJS) $(LIBS) \ $(srctree)/$(boot)/ld.script $(call cmd,gen-chrp)$(images)/zImage.initrd.chrp: $(obj)/image.initrd.o $(CHRPOBJS) $(LIBS) \ $(srctree)/$(boot)/ld.script $(call cmd,gen-chrp)quiet_cmd_addnote = ADDNOTE $@ cmd_addnote = cat $< > $@ && $(utils)/addnote $@$(images)/zImage.chrp-rs6k $(images)/zImage.initrd.chrp-rs6k: \ %-rs6k: % $(call cmd,addnote)quiet_cmd_gen-miboot = GEN $@ cmd_gen-miboot = $(OBJCOPY) $(OBJCOPY_ARGS) \ --add-section=$1=$(word 2, $^) $< $@$(images)/miboot.image: $(obj)/dummy.o $(images)/vmlinux.gz $(call cmd,gen-miboot,image)$(images)/miboot.initrd.image: $(images)/miboot.image $(images)/ramdisk.image.gz $(call cmd,gen-miboot,initrd)# The targets used on the make command-line.PHONY: zImage zImage.initrdzImage: $(images)/vmlinux.coff \ $(images)/vmlinux.elf-pmac \ $(images)/zImage.chrp \ $(images)/zImage.chrp-rs6k \ $(images)/miboot.image @echo ' kernel: $@ is ready ($<)'zImage.initrd: $(images)/vmlinux.initrd.coff \ $(images)/vmlinux.initrd.elf-pmac \ $(images)/zImage.initrd.chrp \ $(images)/zImage.initrd.chrp-rs6k \ $(images)/miboot.initrd.image @echo ' kernel: $@ is ready ($<)'TFTPIMAGE := /tftpboot/zImage.PHONY: znetboot znetboot.initrdznetboot: $(images)/vmlinux.coff \ $(images)/vmlinux.elf-pmac \ $(images)/zImage.chrp cp $(images)/vmlinux.coff $(TFTPIMAGE).pmac$(END) cp $(images)/vmlinux.elf-pmac $(TFTPIMAGE).pmac$(END).elf cp $(images)/zImage.chrp $(TFTPIMAGE).chrp$(END) @echo ' kernel: $@ is ready ($<)'znetboot.initrd:$(images)/vmlinux.initrd.coff \ $(images)/vmlinux.initrd.elf-pmac \ $(images)/zImage.initrd.chrp cp $(images)/vmlinux.initrd.coff $(TFTPIMAGE).pmac$(END) cp $(images)/vmlinux.initrd.elf-pmac $(TFTPIMAGE).pmac$(END).elf cp $(images)/zImage.initrd.chrp $(TFTPIMAGE).chrp$(END) @echo ' kernel: $@ is ready ($<)'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -