1 # 1 # 2 # arch/xtensa/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) 1994 by Linus Torvalds 8 # 9 # 9 10 >> 11 host-progs := tools/mkbb tools/objstrip >> 12 targets := vmlinux.gz vmlinux \ >> 13 vmlinux.nh tools/lxboot tools/bootlx tools/bootph \ >> 14 tools/bootpzh bootloader bootpheader bootpzheader >> 15 OBJSTRIP := $(obj)/tools/objstrip >> 16 >> 17 # SRM bootable image. Copy to offset 512 of a partition. >> 18 $(obj)/bootimage: $(addprefix $(obj)/tools/,mkbb lxboot bootlx) $(obj)/vmlinux.nh >> 19 ( cat $(obj)/tools/lxboot $(obj)/tools/bootlx $(obj)/vmlinux.nh ) > $@ >> 20 $(obj)/tools/mkbb $@ $(obj)/tools/lxboot >> 21 @echo ' Bootimage $@ is ready' >> 22 >> 23 # BOOTP bootable image. Define INITRD during make to append initrd image. >> 24 $(obj)/bootpfile: $(obj)/tools/bootph $(obj)/vmlinux.nh >> 25 cat $(obj)/tools/bootph $(obj)/vmlinux.nh > $@ >> 26 ifdef INITRD >> 27 cat $(INITRD) >> $@ >> 28 endif >> 29 >> 30 # Compressed kernel BOOTP bootable image. >> 31 # Define INITRD during make to append initrd image. >> 32 $(obj)/bootpzfile: $(obj)/tools/bootpzh $(obj)/vmlinux.nh.gz >> 33 cat $(obj)/tools/bootpzh $(obj)/vmlinux.nh.gz > $@ >> 34 ifdef INITRD >> 35 cat $(INITRD) >> $@ >> 36 endif 10 37 11 # KBUILD_CFLAGS used when building rest of boo !! 38 # Compressed kernel image 12 KBUILD_CFLAGS += -fno-builtin !! 39 $(obj)/vmlinux.gz: $(obj)/vmlinux FORCE >> 40 $(call if_changed,gzip) >> 41 @echo ' Kernel $@ is ready' 13 42 14 subdir-y := lib !! 43 $(obj)/main.o: $(obj)/ksize.h 15 targets += vmlinux.bin vmlinux.bin.gz !! 44 $(obj)/bootp.o: $(obj)/ksize.h 16 targets += uImage xipImage !! 45 $(obj)/bootpz.o: $(obj)/kzsize.h >> 46 >> 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 17 80 18 # Subdirs for the boot loader(s) !! 81 $(obj)/vmlinux.nh: vmlinux $(OBJSTRIP) FORCE >> 82 $(call if_changed,objstrip) 19 83 20 boot-$(CONFIG_XTENSA_PLATFORM_ISS) += Image !! 84 $(obj)/vmlinux.nh.gz: $(obj)/vmlinux.nh FORCE 21 boot-$(CONFIG_XTENSA_PLATFORM_XT2000) += Image !! 85 $(call if_changed,gzip) 22 boot-$(CONFIG_XTENSA_PLATFORM_XTFPGA) += Image << 23 86 24 all: $(boot-y) !! 87 $(obj)/tools/lxboot: $(obj)/bootloader $(OBJSTRIP) FORCE 25 Image: boot-elf !! 88 $(call if_changed,objstrip) 26 zImage: boot-redboot << 27 uImage: $(obj)/uImage << 28 xipImage: $(obj)/xipImage << 29 89 30 boot-elf boot-redboot: $(addprefix $(obj)/,$(s !! 90 $(obj)/tools/bootlx: $(obj)/bootloader $(OBJSTRIP) FORCE 31 $(Q)$(MAKE) $(build)=$(obj)/$@ $(MAKEC !! 91 $(call if_changed,objstrip) 32 92 33 OBJCOPYFLAGS = --strip-all -R .comment -R .not !! 93 $(obj)/tools/bootph: $(obj)/bootpheader $(OBJSTRIP) FORCE >> 94 $(call if_changed,objstrip) 34 95 35 $(obj)/vmlinux.bin: vmlinux FORCE !! 96 $(obj)/tools/bootpzh: $(obj)/bootpzheader $(OBJSTRIP) FORCE 36 $(call if_changed,objcopy) !! 97 $(call if_changed,objstrip) 37 98 38 $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORC !! 99 LDFLAGS_bootloader := -static -uvsprintf -T #-N -relax 39 $(call if_changed,gzip) !! 100 LDFLAGS_bootpheader := -static -uvsprintf -T #-N -relax >> 101 LDFLAGS_bootpzheader := -static -uvsprintf -T #-N -relax >> 102 >> 103 OBJ_bootlx := $(obj)/head.o $(obj)/main.o >> 104 OBJ_bootph := $(obj)/head.o $(obj)/bootp.o >> 105 OBJ_bootpzh := $(obj)/head.o $(obj)/bootpz.o $(obj)/misc.o >> 106 >> 107 $(obj)/bootloader: $(obj)/bootloader.lds $(OBJ_bootlx) FORCE >> 108 $(call if_changed,ld) 40 109 41 boot-elf: $(obj)/vmlinux.bin !! 110 $(obj)/bootpheader: $(obj)/bootloader.lds $(OBJ_bootph) $(LIBS_Y) FORCE 42 boot-redboot: $(obj)/vmlinux.bin.gz !! 111 $(call if_changed,ld) 43 112 44 UIMAGE_LOADADDR = $(CONFIG_KERNEL_LOAD_ADDRESS !! 113 $(obj)/bootpzheader: $(obj)/bootloader.lds $(OBJ_bootpzh) $(LIBS_Y) FORCE 45 UIMAGE_COMPRESSION = gzip !! 114 $(call if_changed,ld) 46 115 47 $(obj)/uImage: $(obj)/vmlinux.bin.gz FORCE !! 116 $(obj)/misc.o: lib/inflate.c 48 $(call if_changed,uimage) << 49 $(Q)$(kecho) ' Kernel: $@ is ready' << 50 << 51 $(obj)/xipImage: vmlinux FORCE << 52 $(call if_changed,objcopy) << 53 $(Q)$(kecho) ' Kernel: $@ is ready' <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.