1 # 1 # 2 # arch/alpha/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 # Copyright (C) 1994 by Linus Torvalds 9 # 9 # 10 10 11 hostprogs := tools/mkbb tools/objstrip !! 11 host-progs := tools/mkbb tools/objstrip 12 targets := vmlinux.gz vmlinux \ 12 targets := vmlinux.gz vmlinux \ 13 vmlinux.nh tools/lxboot too 13 vmlinux.nh tools/lxboot tools/bootlx tools/bootph \ 14 tools/bootpzh bootloader bo 14 tools/bootpzh bootloader bootpheader bootpzheader 15 OBJSTRIP := $(obj)/tools/objstrip 15 OBJSTRIP := $(obj)/tools/objstrip 16 16 17 KBUILD_HOSTCFLAGS := -Wall -I$(objtree)/usr/in << 18 BOOTCFLAGS += -I$(objtree)/$(obj) -I$(src << 19 << 20 # SRM bootable image. Copy to offset 512 of a 17 # SRM bootable image. Copy to offset 512 of a partition. 21 $(obj)/bootimage: $(addprefix $(obj)/tools/,mk 18 $(obj)/bootimage: $(addprefix $(obj)/tools/,mkbb lxboot bootlx) $(obj)/vmlinux.nh 22 ( cat $(obj)/tools/lxboot $(obj)/tools 19 ( cat $(obj)/tools/lxboot $(obj)/tools/bootlx $(obj)/vmlinux.nh ) > $@ 23 $(obj)/tools/mkbb $@ $(obj)/tools/lxbo 20 $(obj)/tools/mkbb $@ $(obj)/tools/lxboot 24 @echo ' Bootimage $@ is ready' 21 @echo ' Bootimage $@ is ready' 25 22 26 # BOOTP bootable image. Define INITRD during 23 # BOOTP bootable image. Define INITRD during make to append initrd image. 27 $(obj)/bootpfile: $(obj)/tools/bootph $(obj)/v 24 $(obj)/bootpfile: $(obj)/tools/bootph $(obj)/vmlinux.nh 28 cat $(obj)/tools/bootph $(obj)/vmlinux 25 cat $(obj)/tools/bootph $(obj)/vmlinux.nh > $@ 29 ifdef INITRD 26 ifdef INITRD 30 cat $(INITRD) >> $@ 27 cat $(INITRD) >> $@ 31 endif 28 endif 32 29 33 # Compressed kernel BOOTP bootable image. 30 # Compressed kernel BOOTP bootable image. 34 # Define INITRD during make to append initrd i 31 # Define INITRD during make to append initrd image. 35 $(obj)/bootpzfile: $(obj)/tools/bootpzh $(obj) 32 $(obj)/bootpzfile: $(obj)/tools/bootpzh $(obj)/vmlinux.nh.gz 36 cat $(obj)/tools/bootpzh $(obj)/vmlinu 33 cat $(obj)/tools/bootpzh $(obj)/vmlinux.nh.gz > $@ 37 ifdef INITRD 34 ifdef INITRD 38 cat $(INITRD) >> $@ 35 cat $(INITRD) >> $@ 39 endif 36 endif 40 37 41 # Compressed kernel image 38 # Compressed kernel image 42 $(obj)/vmlinux.gz: $(obj)/vmlinux FORCE 39 $(obj)/vmlinux.gz: $(obj)/vmlinux FORCE 43 $(call if_changed,gzip) 40 $(call if_changed,gzip) 44 @echo ' Kernel $@ is ready' 41 @echo ' Kernel $@ is ready' 45 42 46 $(obj)/main.o: $(obj)/ksize.h 43 $(obj)/main.o: $(obj)/ksize.h 47 $(obj)/bootp.o: $(obj)/ksize.h 44 $(obj)/bootp.o: $(obj)/ksize.h 48 $(obj)/bootpz.o: $(obj)/kzsize.h 45 $(obj)/bootpz.o: $(obj)/kzsize.h 49 46 50 $(obj)/ksize.h: $(obj)/vmlinux.nh FORCE 47 $(obj)/ksize.h: $(obj)/vmlinux.nh FORCE 51 echo "#define KERNEL_SIZE `ls -l $(obj 48 echo "#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T 52 ifdef INITRD 49 ifdef INITRD 53 [ -f $(INITRD) ] || exit 1 50 [ -f $(INITRD) ] || exit 1 54 echo "#define INITRD_IMAGE_SIZE `ls -l 51 echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T 55 endif 52 endif 56 cmp -s $@T $@ || mv -f $@T $@ 53 cmp -s $@T $@ || mv -f $@T $@ 57 rm -f $@T 54 rm -f $@T 58 55 59 $(obj)/kzsize.h: $(obj)/vmlinux.nh.gz FORCE 56 $(obj)/kzsize.h: $(obj)/vmlinux.nh.gz FORCE 60 echo "#define KERNEL_SIZE `ls -l $(obj 57 echo "#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T 61 echo "#define KERNEL_Z_SIZE `ls -l $(o 58 echo "#define KERNEL_Z_SIZE `ls -l $(obj)/vmlinux.nh.gz | awk '{print $$5}'`" >> $@T 62 ifdef INITRD 59 ifdef INITRD 63 [ -f $(INITRD) ] || exit 1 60 [ -f $(INITRD) ] || exit 1 64 echo "#define INITRD_IMAGE_SIZE `ls -l 61 echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T 65 endif 62 endif 66 cmp -s $@T $@ || mv -f $@T $@ 63 cmp -s $@T $@ || mv -f $@T $@ 67 rm -f $@T 64 rm -f $@T 68 65 69 quiet_cmd_strip = STRIP $@ 66 quiet_cmd_strip = STRIP $@ 70 cmd_strip = $(STRIP) -o $@ $< 67 cmd_strip = $(STRIP) -o $@ $< 71 68 72 $(obj)/vmlinux: vmlinux FORCE 69 $(obj)/vmlinux: vmlinux FORCE 73 $(call if_changed,strip) 70 $(call if_changed,strip) 74 71 75 quiet_cmd_objstrip = OBJSTRIP $@ 72 quiet_cmd_objstrip = OBJSTRIP $@ 76 cmd_objstrip = $(OBJSTRIP) $(OSFLAGS_$(@ 73 cmd_objstrip = $(OBJSTRIP) $(OSFLAGS_$(@F)) $< $@ 77 74 78 OSFLAGS_vmlinux.nh := -v 75 OSFLAGS_vmlinux.nh := -v 79 OSFLAGS_lxboot := -p 76 OSFLAGS_lxboot := -p 80 OSFLAGS_bootlx := -vb 77 OSFLAGS_bootlx := -vb 81 OSFLAGS_bootph := -vb 78 OSFLAGS_bootph := -vb 82 OSFLAGS_bootpzh := -vb 79 OSFLAGS_bootpzh := -vb 83 80 84 $(obj)/vmlinux.nh: vmlinux $(OBJSTRIP) FORCE 81 $(obj)/vmlinux.nh: vmlinux $(OBJSTRIP) FORCE 85 $(call if_changed,objstrip) 82 $(call if_changed,objstrip) 86 83 87 $(obj)/vmlinux.nh.gz: $(obj)/vmlinux.nh FORCE 84 $(obj)/vmlinux.nh.gz: $(obj)/vmlinux.nh FORCE 88 $(call if_changed,gzip) 85 $(call if_changed,gzip) 89 86 90 $(obj)/tools/lxboot: $(obj)/bootloader $(OBJST 87 $(obj)/tools/lxboot: $(obj)/bootloader $(OBJSTRIP) FORCE 91 $(call if_changed,objstrip) 88 $(call if_changed,objstrip) 92 89 93 $(obj)/tools/bootlx: $(obj)/bootloader $(OBJST 90 $(obj)/tools/bootlx: $(obj)/bootloader $(OBJSTRIP) FORCE 94 $(call if_changed,objstrip) 91 $(call if_changed,objstrip) 95 92 96 $(obj)/tools/bootph: $(obj)/bootpheader $(OBJS 93 $(obj)/tools/bootph: $(obj)/bootpheader $(OBJSTRIP) FORCE 97 $(call if_changed,objstrip) 94 $(call if_changed,objstrip) 98 95 99 $(obj)/tools/bootpzh: $(obj)/bootpzheader $(OB 96 $(obj)/tools/bootpzh: $(obj)/bootpzheader $(OBJSTRIP) FORCE 100 $(call if_changed,objstrip) 97 $(call if_changed,objstrip) 101 98 102 LDFLAGS_bootloader := -static -T # -N -relax !! 99 LDFLAGS_bootloader := -static -uvsprintf -T #-N -relax 103 LDFLAGS_bootloader := -static -T # -N -relax !! 100 LDFLAGS_bootpheader := -static -uvsprintf -T #-N -relax 104 LDFLAGS_bootpheader := -static -T # -N -relax !! 101 LDFLAGS_bootpzheader := -static -uvsprintf -T #-N -relax 105 LDFLAGS_bootpzheader := -static -T # -N -relax !! 102 106 !! 103 OBJ_bootlx := $(obj)/head.o $(obj)/main.o 107 OBJ_bootlx := $(obj)/head.o $(obj)/stdio.o $ !! 104 OBJ_bootph := $(obj)/head.o $(obj)/bootp.o 108 OBJ_bootph := $(obj)/head.o $(obj)/stdio.o $ !! 105 OBJ_bootpzh := $(obj)/head.o $(obj)/bootpz.o $(obj)/misc.o 109 OBJ_bootpzh := $(obj)/head.o $(obj)/stdio.o $ << 110 106 111 $(obj)/bootloader: $(obj)/bootloader.lds $(OBJ !! 107 $(obj)/bootloader: $(obj)/bootloader.lds $(OBJ_bootlx) FORCE 112 $(call if_changed,ld) 108 $(call if_changed,ld) 113 109 114 $(obj)/bootpheader: $(obj)/bootloader.lds $(OB 110 $(obj)/bootpheader: $(obj)/bootloader.lds $(OBJ_bootph) $(LIBS_Y) FORCE 115 $(call if_changed,ld) 111 $(call if_changed,ld) 116 112 117 $(obj)/bootpzheader: $(obj)/bootloader.lds $(O 113 $(obj)/bootpzheader: $(obj)/bootloader.lds $(OBJ_bootpzh) $(LIBS_Y) FORCE 118 $(call if_changed,ld) 114 $(call if_changed,ld) 119 115 120 $(obj)/misc.o: lib/inflate.c 116 $(obj)/misc.o: lib/inflate.c
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.