>> 1 # Makefile for the Sparc boot stuff. 1 # 2 # 2 # arch/sh/boot/Makefile !! 3 # Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) 3 # !! 4 # Copyright (C) 1997,1998 Jakub Jelinek (jj@ultra.linux.cz) 4 # This file is subject to the terms and condit << 5 # License. See the file "COPYING" in the main << 6 # for more details. << 7 # << 8 # Copyright (C) 1999 Stuart Menefy << 9 # << 10 5 11 # !! 6 ROOT_IMG := /usr/src/root.img 12 # Assign safe dummy values if these variables !! 7 ELFTOAOUT := elftoaout 13 # in order to suppress error message. << 14 # << 15 CONFIG_PAGE_OFFSET ?= 0x80000000 << 16 CONFIG_MEMORY_START ?= 0x0c000000 << 17 CONFIG_BOOT_LINK_OFFSET ?= 0x00800000 << 18 CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000 << 19 CONFIG_ENTRY_OFFSET ?= 0x00001000 << 20 CONFIG_PHYSICAL_START ?= $(CONFIG_MEMORY_STA << 21 << 22 suffix_y := bin << 23 suffix_$(CONFIG_KERNEL_GZIP) := gz << 24 suffix_$(CONFIG_KERNEL_BZIP2) := bz2 << 25 suffix_$(CONFIG_KERNEL_LZMA) := lzma << 26 suffix_$(CONFIG_KERNEL_XZ) := xz << 27 suffix_$(CONFIG_KERNEL_LZO) := lzo << 28 << 29 targets := zImage vmlinux.srec romImage uImage << 30 uImage.bz2 uImage.lzma uImage.xz uI << 31 vmlinux.bin vmlinux.bin.gz vmlinux. << 32 vmlinux.bin.xz vmlinux.bin.lzo << 33 subdir- := compressed romimage << 34 << 35 $(obj)/zImage: $(obj)/compressed/vmlinux FORCE << 36 $(call if_changed,objcopy) << 37 @echo ' Kernel: $@ is ready' << 38 << 39 $(obj)/compressed/vmlinux: FORCE << 40 $(Q)$(MAKE) $(build)=$(obj)/compressed << 41 << 42 $(obj)/romImage: $(obj)/romimage/vmlinux FORCE << 43 $(call if_changed,objcopy) << 44 @echo ' Kernel: $@ is ready' << 45 << 46 $(obj)/romimage/vmlinux: $(obj)/zImage FORCE << 47 $(Q)$(MAKE) $(build)=$(obj)/romimage $ << 48 << 49 KERNEL_MEMORY := $(shell /bin/bash -c 'print << 50 $$[$(CONFIG_PHYSICAL_STAR << 51 << 52 KERNEL_LOAD := $(shell /bin/bash -c 'print << 53 $$[$(CONFIG_PAGE_OFFSET) << 54 $(KERNEL_MEMORY) + \ << 55 $(CONFIG_ZERO_PAGE_OFF << 56 << 57 KERNEL_ENTRY := $(shell /bin/bash -c 'print << 58 $$[$(CONFIG_PAGE_OFFSET) << 59 $(KERNEL_MEMORY) + \ << 60 $(CONFIG_ZERO_PAGE_OFF << 61 8 62 UIMAGE_LOADADDR = $(KERNEL_LOAD) !! 9 hostprogs-y := piggyback_32 piggyback_64 btfixupprep 63 UIMAGE_ENTRYADDR = $(KERNEL_ENTRY) !! 10 targets := tftpboot.img btfix.o btfix.S image zImage vmlinux.aout >> 11 clean-files := System.map >> 12 >> 13 quiet_cmd_elftoaout = ELFTOAOUT $@ >> 14 cmd_elftoaout = $(ELFTOAOUT) $(obj)/image -o $@ >> 15 >> 16 ifeq ($(CONFIG_SPARC32),y) >> 17 quiet_cmd_piggy = PIGGY $@ >> 18 cmd_piggy = $(obj)/piggyback_32 $@ System.map $(ROOT_IMG) >> 19 quiet_cmd_btfix = BTFIX $@ >> 20 cmd_btfix = $(OBJDUMP) -x vmlinux | $(obj)/btfixupprep > $@ >> 21 quiet_cmd_sysmap = SYSMAP $(obj)/System.map >> 22 cmd_sysmap = $(CONFIG_SHELL) $(srctree)/scripts/mksysmap >> 23 quiet_cmd_image = LD $@ >> 24 cmd_image = $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_$(@F)) -o $@ >> 25 quiet_cmd_strip = STRIP $@ >> 26 cmd_strip = $(STRIP) -R .comment -R .note -K sun4u_init -K _end -K _start $(obj)/image -o $@ >> 27 >> 28 >> 29 define rule_image >> 30 $(if $($(quiet)cmd_image), \ >> 31 echo ' $($(quiet)cmd_image)' &&) \ >> 32 $(cmd_image); \ >> 33 $(if $($(quiet)cmd_sysmap), \ >> 34 echo ' $($(quiet)cmd_sysmap)' &&) \ >> 35 $(cmd_sysmap) $@ $(obj)/System.map; \ >> 36 if [ $$? -ne 0 ]; then \ >> 37 rm -f $@; \ >> 38 /bin/false; \ >> 39 fi; \ >> 40 echo 'cmd_$@ := $(cmd_image)' > $(@D)/.$(@F).cmd >> 41 endef >> 42 >> 43 BTOBJS := $(patsubst %/, %/built-in.o, $(VMLINUX_INIT)) >> 44 BTLIBS := $(patsubst %/, %/built-in.o, $(VMLINUX_MAIN)) >> 45 LDFLAGS_image := -T arch/sparc/kernel/vmlinux.lds $(BTOBJS) \ >> 46 --start-group $(BTLIBS) --end-group \ >> 47 $(kallsyms.o) $(obj)/btfix.o >> 48 >> 49 # Link the final image including btfixup'ed symbols. >> 50 # This is a replacement for the link done in the top-level Makefile. >> 51 # Note: No dependency on the prerequisite files since that would require >> 52 # make to try check if they are updated - and due to changes >> 53 # in gcc options (path for example) this would result in >> 54 # these files being recompiled for each build. >> 55 $(obj)/image: $(obj)/btfix.o FORCE >> 56 $(call if_changed_rule,image) >> 57 >> 58 $(obj)/zImage: $(obj)/image >> 59 $(call if_changed,strip) >> 60 >> 61 $(obj)/tftpboot.img: $(obj)/image $(obj)/piggyback_32 System.map $(ROOT_IMG) FORCE >> 62 $(call if_changed,elftoaout) >> 63 $(call if_changed,piggy) >> 64 >> 65 $(obj)/btfix.S: $(obj)/btfixupprep vmlinux FORCE >> 66 $(call if_changed,btfix) >> 67 >> 68 endif >> 69 >> 70 ifeq ($(CONFIG_SPARC64),y) >> 71 quiet_cmd_piggy = PIGGY $@ >> 72 cmd_piggy = $(obj)/piggyback_64 $@ System.map $(ROOT_IMG) >> 73 quiet_cmd_strip = STRIP $@ >> 74 cmd_strip = $(STRIP) -R .comment -R .note -K sun4u_init -K _end -K _start vmlinux -o $@ >> 75 >> 76 >> 77 # Actual linking >> 78 $(obj)/image: vmlinux FORCE >> 79 $(call if_changed,strip) >> 80 @echo ' kernel: $@ is ready' 64 81 65 $(obj)/vmlinux.bin: vmlinux FORCE !! 82 $(obj)/zImage: $(obj)/image 66 $(call if_changed,objcopy) << 67 << 68 $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORC << 69 $(call if_changed,gzip) 83 $(call if_changed,gzip) 70 84 71 $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FOR !! 85 $(obj)/tftpboot.img: $(obj)/image $(obj)/piggyback_64 System.map $(ROOT_IMG) FORCE 72 $(call if_changed,bzip2) !! 86 $(call if_changed,elftoaout) 73 !! 87 $(call if_changed,piggy) 74 $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FO !! 88 @echo ' kernel: $@ is ready' 75 $(call if_changed,lzma) !! 89 76 !! 90 $(obj)/vmlinux.aout: vmlinux FORCE 77 $(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORC !! 91 $(call if_changed,elftoaout) 78 $(call if_changed,xzkern) !! 92 @echo ' kernel: $@ is ready' 79 !! 93 endif 80 $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FOR << 81 $(call if_changed,lzo) << 82 << 83 $(obj)/uImage.bz2: $(obj)/vmlinux.bin.bz2 FORC << 84 $(call if_changed,uimage,bzip2) << 85 << 86 $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE << 87 $(call if_changed,uimage,gzip) << 88 << 89 $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma FO << 90 $(call if_changed,uimage,lzma) << 91 << 92 $(obj)/uImage.xz: $(obj)/vmlinux.bin.xz FORCE << 93 $(call if_changed,uimage,xz) << 94 << 95 $(obj)/uImage.lzo: $(obj)/vmlinux.bin.lzo FORC << 96 $(call if_changed,uimage,lzo) << 97 << 98 $(obj)/uImage.bin: $(obj)/vmlinux.bin FORCE << 99 $(call if_changed,uimage,none) << 100 << 101 OBJCOPYFLAGS_vmlinux.srec := -I binary -O srec << 102 $(obj)/vmlinux.srec: $(obj)/compressed/vmlinux << 103 $(call if_changed,objcopy) << 104 << 105 OBJCOPYFLAGS_uImage.srec := -I binary -O srec << 106 $(obj)/uImage.srec: $(obj)/uImage FORCE << 107 $(call if_changed,objcopy) << 108 << 109 $(obj)/uImage: $(obj)/uImage.$(suffix_y) << 110 @ln -sf $(notdir $<) $@ << 111 @echo ' Image $@ is ready' << 112 94 113 export CONFIG_PAGE_OFFSET CONFIG_MEMORY_START << 114 CONFIG_PHYSICAL_START CONFIG_ZERO_PAGE_ << 115 KERNEL_MEMORY suffix_y <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.