1 # 1 # 2 # arch/sh/boot/Makefile !! 2 # arch/alpha/boot/Makefile 3 # 3 # 4 # This file is subject to the terms and condit 4 # This file is subject to the terms and conditions of the GNU General Public 5 # License. See the file "COPYING" in the main 5 # License. See the file "COPYING" in the main directory of this archive 6 # for more details. 6 # for more details. 7 # 7 # 8 # Copyright (C) 1999 Stuart Menefy !! 8 # Copyright (C) 1994 by Linus Torvalds 9 # 9 # 10 10 11 # !! 11 hostprogs-y := tools/mkbb tools/objstrip 12 # Assign safe dummy values if these variables !! 12 targets := vmlinux.gz vmlinux \ 13 # in order to suppress error message. !! 13 vmlinux.nh tools/lxboot tools/bootlx tools/bootph \ 14 # !! 14 tools/bootpzh bootloader bootpheader bootpzheader 15 CONFIG_PAGE_OFFSET ?= 0x80000000 !! 15 OBJSTRIP := $(obj)/tools/objstrip 16 CONFIG_MEMORY_START ?= 0x0c000000 !! 16 17 CONFIG_BOOT_LINK_OFFSET ?= 0x00800000 !! 17 # SRM bootable image. Copy to offset 512 of a partition. 18 CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000 !! 18 $(obj)/bootimage: $(addprefix $(obj)/tools/,mkbb lxboot bootlx) $(obj)/vmlinux.nh 19 CONFIG_ENTRY_OFFSET ?= 0x00001000 !! 19 ( cat $(obj)/tools/lxboot $(obj)/tools/bootlx $(obj)/vmlinux.nh ) > $@ 20 CONFIG_PHYSICAL_START ?= $(CONFIG_MEMORY_STA !! 20 $(obj)/tools/mkbb $@ $(obj)/tools/lxboot 21 !! 21 @echo ' Bootimage $@ is ready' 22 suffix_y := bin !! 22 23 suffix_$(CONFIG_KERNEL_GZIP) := gz !! 23 # BOOTP bootable image. Define INITRD during make to append initrd image. 24 suffix_$(CONFIG_KERNEL_BZIP2) := bz2 !! 24 $(obj)/bootpfile: $(obj)/tools/bootph $(obj)/vmlinux.nh 25 suffix_$(CONFIG_KERNEL_LZMA) := lzma !! 25 cat $(obj)/tools/bootph $(obj)/vmlinux.nh > $@ 26 suffix_$(CONFIG_KERNEL_XZ) := xz !! 26 ifdef INITRD 27 suffix_$(CONFIG_KERNEL_LZO) := lzo !! 27 cat $(INITRD) >> $@ 28 !! 28 endif 29 targets := zImage vmlinux.srec romImage uImage !! 29 30 uImage.bz2 uImage.lzma uImage.xz uI !! 30 # Compressed kernel BOOTP bootable image. 31 vmlinux.bin vmlinux.bin.gz vmlinux. !! 31 # Define INITRD during make to append initrd image. 32 vmlinux.bin.xz vmlinux.bin.lzo !! 32 $(obj)/bootpzfile: $(obj)/tools/bootpzh $(obj)/vmlinux.nh.gz 33 subdir- := compressed romimage !! 33 cat $(obj)/tools/bootpzh $(obj)/vmlinux.nh.gz > $@ 34 !! 34 ifdef INITRD 35 $(obj)/zImage: $(obj)/compressed/vmlinux FORCE !! 35 cat $(INITRD) >> $@ 36 $(call if_changed,objcopy) !! 36 endif 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 << 62 UIMAGE_LOADADDR = $(KERNEL_LOAD) << 63 UIMAGE_ENTRYADDR = $(KERNEL_ENTRY) << 64 37 65 $(obj)/vmlinux.bin: vmlinux FORCE !! 38 # Compressed kernel image 66 $(call if_changed,objcopy) !! 39 $(obj)/vmlinux.gz: $(obj)/vmlinux FORCE 67 << 68 $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORC << 69 $(call if_changed,gzip) 40 $(call if_changed,gzip) >> 41 @echo ' Kernel $@ is ready' 70 42 71 $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FOR !! 43 $(obj)/main.o: $(obj)/ksize.h 72 $(call if_changed,bzip2) !! 44 $(obj)/bootp.o: $(obj)/ksize.h 73 !! 45 $(obj)/bootpz.o: $(obj)/kzsize.h 74 $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FO !! 46 75 $(call if_changed,lzma) !! 47 $(obj)/ksize.h: $(obj)/vmlinux.nh FORCE >> 48 echo "#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T >> 49 ifdef INITRD >> 50 [ -f $(INITRD) ] || exit 1 >> 51 echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T >> 52 endif >> 53 cmp -s $@T $@ || mv -f $@T $@ >> 54 rm -f $@T >> 55 >> 56 $(obj)/kzsize.h: $(obj)/vmlinux.nh.gz FORCE >> 57 echo "#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T >> 58 echo "#define KERNEL_Z_SIZE `ls -l $(obj)/vmlinux.nh.gz | awk '{print $$5}'`" >> $@T >> 59 ifdef INITRD >> 60 [ -f $(INITRD) ] || exit 1 >> 61 echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T >> 62 endif >> 63 cmp -s $@T $@ || mv -f $@T $@ >> 64 rm -f $@T >> 65 >> 66 quiet_cmd_strip = STRIP $@ >> 67 cmd_strip = $(STRIP) -o $@ $< >> 68 >> 69 $(obj)/vmlinux: vmlinux FORCE >> 70 $(call if_changed,strip) >> 71 >> 72 quiet_cmd_objstrip = OBJSTRIP $@ >> 73 cmd_objstrip = $(OBJSTRIP) $(OSFLAGS_$(@F)) $< $@ >> 74 >> 75 OSFLAGS_vmlinux.nh := -v >> 76 OSFLAGS_lxboot := -p >> 77 OSFLAGS_bootlx := -vb >> 78 OSFLAGS_bootph := -vb >> 79 OSFLAGS_bootpzh := -vb 76 80 77 $(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORC !! 81 $(obj)/vmlinux.nh: vmlinux $(OBJSTRIP) FORCE 78 $(call if_changed,xzkern) !! 82 $(call if_changed,objstrip) 79 83 80 $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FOR !! 84 $(obj)/vmlinux.nh.gz: $(obj)/vmlinux.nh FORCE 81 $(call if_changed,lzo) !! 85 $(call if_changed,gzip) 82 86 83 $(obj)/uImage.bz2: $(obj)/vmlinux.bin.bz2 FORC !! 87 $(obj)/tools/lxboot: $(obj)/bootloader $(OBJSTRIP) FORCE 84 $(call if_changed,uimage,bzip2) !! 88 $(call if_changed,objstrip) 85 89 86 $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE !! 90 $(obj)/tools/bootlx: $(obj)/bootloader $(OBJSTRIP) FORCE 87 $(call if_changed,uimage,gzip) !! 91 $(call if_changed,objstrip) 88 92 89 $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma FO !! 93 $(obj)/tools/bootph: $(obj)/bootpheader $(OBJSTRIP) FORCE 90 $(call if_changed,uimage,lzma) !! 94 $(call if_changed,objstrip) 91 95 92 $(obj)/uImage.xz: $(obj)/vmlinux.bin.xz FORCE !! 96 $(obj)/tools/bootpzh: $(obj)/bootpzheader $(OBJSTRIP) FORCE 93 $(call if_changed,uimage,xz) !! 97 $(call if_changed,objstrip) 94 98 95 $(obj)/uImage.lzo: $(obj)/vmlinux.bin.lzo FORC !! 99 LDFLAGS_bootloader := -static -uvsprintf -T #-N -relax 96 $(call if_changed,uimage,lzo) !! 100 LDFLAGS_bootpheader := -static -uvsprintf -T #-N -relax >> 101 LDFLAGS_bootpzheader := -static -uvsprintf -T #-N -relax 97 102 98 $(obj)/uImage.bin: $(obj)/vmlinux.bin FORCE !! 103 OBJ_bootlx := $(obj)/head.o $(obj)/main.o 99 $(call if_changed,uimage,none) !! 104 OBJ_bootph := $(obj)/head.o $(obj)/bootp.o >> 105 OBJ_bootpzh := $(obj)/head.o $(obj)/bootpz.o $(obj)/misc.o 100 106 101 OBJCOPYFLAGS_vmlinux.srec := -I binary -O srec !! 107 $(obj)/bootloader: $(obj)/bootloader.lds $(OBJ_bootlx) $(LIBS_Y) FORCE 102 $(obj)/vmlinux.srec: $(obj)/compressed/vmlinux !! 108 $(call if_changed,ld) 103 $(call if_changed,objcopy) << 104 109 105 OBJCOPYFLAGS_uImage.srec := -I binary -O srec !! 110 $(obj)/bootpheader: $(obj)/bootloader.lds $(OBJ_bootph) $(LIBS_Y) FORCE 106 $(obj)/uImage.srec: $(obj)/uImage FORCE !! 111 $(call if_changed,ld) 107 $(call if_changed,objcopy) << 108 112 109 $(obj)/uImage: $(obj)/uImage.$(suffix_y) !! 113 $(obj)/bootpzheader: $(obj)/bootloader.lds $(OBJ_bootpzh) $(LIBS_Y) FORCE 110 @ln -sf $(notdir $<) $@ !! 114 $(call if_changed,ld) 111 @echo ' Image $@ is ready' << 112 115 113 export CONFIG_PAGE_OFFSET CONFIG_MEMORY_START !! 116 $(obj)/misc.o: lib/inflate.c 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.