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 := 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 KBUILD_HOSTCFLAGS := -Wall -I$(objtree)/usr/include 18 CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000 !! 18 BOOTCFLAGS += -I$(objtree)/$(obj) -I$(srctree)/$(obj) 19 CONFIG_ENTRY_OFFSET ?= 0x00001000 !! 19 20 CONFIG_PHYSICAL_START ?= $(CONFIG_MEMORY_STA !! 20 # SRM bootable image. Copy to offset 512 of a partition. 21 !! 21 $(obj)/bootimage: $(addprefix $(obj)/tools/,mkbb lxboot bootlx) $(obj)/vmlinux.nh 22 suffix_y := bin !! 22 ( cat $(obj)/tools/lxboot $(obj)/tools/bootlx $(obj)/vmlinux.nh ) > $@ 23 suffix_$(CONFIG_KERNEL_GZIP) := gz !! 23 $(obj)/tools/mkbb $@ $(obj)/tools/lxboot 24 suffix_$(CONFIG_KERNEL_BZIP2) := bz2 !! 24 @echo ' Bootimage $@ is ready' 25 suffix_$(CONFIG_KERNEL_LZMA) := lzma !! 25 26 suffix_$(CONFIG_KERNEL_XZ) := xz !! 26 # BOOTP bootable image. Define INITRD during make to append initrd image. 27 suffix_$(CONFIG_KERNEL_LZO) := lzo !! 27 $(obj)/bootpfile: $(obj)/tools/bootph $(obj)/vmlinux.nh 28 !! 28 cat $(obj)/tools/bootph $(obj)/vmlinux.nh > $@ 29 targets := zImage vmlinux.srec romImage uImage !! 29 ifdef INITRD 30 uImage.bz2 uImage.lzma uImage.xz uI !! 30 cat $(INITRD) >> $@ 31 vmlinux.bin vmlinux.bin.gz vmlinux. !! 31 endif 32 vmlinux.bin.xz vmlinux.bin.lzo !! 32 33 subdir- := compressed romimage !! 33 # Compressed kernel BOOTP bootable image. 34 !! 34 # Define INITRD during make to append initrd image. 35 $(obj)/zImage: $(obj)/compressed/vmlinux FORCE !! 35 $(obj)/bootpzfile: $(obj)/tools/bootpzh $(obj)/vmlinux.nh.gz 36 $(call if_changed,objcopy) !! 36 cat $(obj)/tools/bootpzh $(obj)/vmlinux.nh.gz > $@ 37 @echo ' Kernel: $@ is ready' !! 37 ifdef INITRD 38 !! 38 cat $(INITRD) >> $@ 39 $(obj)/compressed/vmlinux: FORCE !! 39 endif 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 40 65 $(obj)/vmlinux.bin: vmlinux FORCE !! 41 # Compressed kernel image 66 $(call if_changed,objcopy) !! 42 $(obj)/vmlinux.gz: $(obj)/vmlinux FORCE 67 << 68 $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORC << 69 $(call if_changed,gzip) 43 $(call if_changed,gzip) >> 44 @echo ' Kernel $@ is ready' 70 45 71 $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FOR !! 46 $(obj)/main.o: $(obj)/ksize.h 72 $(call if_changed,bzip2) !! 47 $(obj)/bootp.o: $(obj)/ksize.h 73 !! 48 $(obj)/bootpz.o: $(obj)/kzsize.h 74 $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FO !! 49 75 $(call if_changed,lzma) !! 50 $(obj)/ksize.h: $(obj)/vmlinux.nh FORCE >> 51 echo "#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T >> 52 ifdef INITRD >> 53 [ -f $(INITRD) ] || exit 1 >> 54 echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T >> 55 endif >> 56 cmp -s $@T $@ || mv -f $@T $@ >> 57 rm -f $@T >> 58 >> 59 $(obj)/kzsize.h: $(obj)/vmlinux.nh.gz FORCE >> 60 echo "#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T >> 61 echo "#define KERNEL_Z_SIZE `ls -l $(obj)/vmlinux.nh.gz | awk '{print $$5}'`" >> $@T >> 62 ifdef INITRD >> 63 [ -f $(INITRD) ] || exit 1 >> 64 echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T >> 65 endif >> 66 cmp -s $@T $@ || mv -f $@T $@ >> 67 rm -f $@T >> 68 >> 69 quiet_cmd_strip = STRIP $@ >> 70 cmd_strip = $(STRIP) -o $@ $< >> 71 >> 72 $(obj)/vmlinux: vmlinux FORCE >> 73 $(call if_changed,strip) >> 74 >> 75 quiet_cmd_objstrip = OBJSTRIP $@ >> 76 cmd_objstrip = $(OBJSTRIP) $(OSFLAGS_$(@F)) $< $@ >> 77 >> 78 OSFLAGS_vmlinux.nh := -v >> 79 OSFLAGS_lxboot := -p >> 80 OSFLAGS_bootlx := -vb >> 81 OSFLAGS_bootph := -vb >> 82 OSFLAGS_bootpzh := -vb 76 83 77 $(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORC !! 84 $(obj)/vmlinux.nh: vmlinux $(OBJSTRIP) FORCE 78 $(call if_changed,xzkern) !! 85 $(call if_changed,objstrip) 79 86 80 $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FOR !! 87 $(obj)/vmlinux.nh.gz: $(obj)/vmlinux.nh FORCE 81 $(call if_changed,lzo) !! 88 $(call if_changed,gzip) 82 89 83 $(obj)/uImage.bz2: $(obj)/vmlinux.bin.bz2 FORC !! 90 $(obj)/tools/lxboot: $(obj)/bootloader $(OBJSTRIP) FORCE 84 $(call if_changed,uimage,bzip2) !! 91 $(call if_changed,objstrip) 85 92 86 $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE !! 93 $(obj)/tools/bootlx: $(obj)/bootloader $(OBJSTRIP) FORCE 87 $(call if_changed,uimage,gzip) !! 94 $(call if_changed,objstrip) 88 95 89 $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma FO !! 96 $(obj)/tools/bootph: $(obj)/bootpheader $(OBJSTRIP) FORCE 90 $(call if_changed,uimage,lzma) !! 97 $(call if_changed,objstrip) 91 98 92 $(obj)/uImage.xz: $(obj)/vmlinux.bin.xz FORCE !! 99 $(obj)/tools/bootpzh: $(obj)/bootpzheader $(OBJSTRIP) FORCE 93 $(call if_changed,uimage,xz) !! 100 $(call if_changed,objstrip) 94 101 95 $(obj)/uImage.lzo: $(obj)/vmlinux.bin.lzo FORC !! 102 LDFLAGS_bootloader := -static -T # -N -relax 96 $(call if_changed,uimage,lzo) !! 103 LDFLAGS_bootloader := -static -T # -N -relax >> 104 LDFLAGS_bootpheader := -static -T # -N -relax >> 105 LDFLAGS_bootpzheader := -static -T # -N -relax 97 106 98 $(obj)/uImage.bin: $(obj)/vmlinux.bin FORCE !! 107 OBJ_bootlx := $(obj)/head.o $(obj)/stdio.o $(obj)/main.o 99 $(call if_changed,uimage,none) !! 108 OBJ_bootph := $(obj)/head.o $(obj)/stdio.o $(obj)/bootp.o >> 109 OBJ_bootpzh := $(obj)/head.o $(obj)/stdio.o $(obj)/bootpz.o $(obj)/misc.o 100 110 101 OBJCOPYFLAGS_vmlinux.srec := -I binary -O srec !! 111 $(obj)/bootloader: $(obj)/bootloader.lds $(OBJ_bootlx) $(LIBS_Y) FORCE 102 $(obj)/vmlinux.srec: $(obj)/compressed/vmlinux !! 112 $(call if_changed,ld) 103 $(call if_changed,objcopy) << 104 113 105 OBJCOPYFLAGS_uImage.srec := -I binary -O srec !! 114 $(obj)/bootpheader: $(obj)/bootloader.lds $(OBJ_bootph) $(LIBS_Y) FORCE 106 $(obj)/uImage.srec: $(obj)/uImage FORCE !! 115 $(call if_changed,ld) 107 $(call if_changed,objcopy) << 108 116 109 $(obj)/uImage: $(obj)/uImage.$(suffix_y) !! 117 $(obj)/bootpzheader: $(obj)/bootloader.lds $(OBJ_bootpzh) $(LIBS_Y) FORCE 110 @ln -sf $(notdir $<) $@ !! 118 $(call if_changed,ld) 111 @echo ' Image $@ is ready' << 112 119 113 export CONFIG_PAGE_OFFSET CONFIG_MEMORY_START !! 120 $(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.