1 # 1 # 2 # arch/nios2/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 >> 9 # >> 10 # Creating a compressed kernel image (arch/alpha/boot/vmlinux.gz) >> 11 # is done via: >> 12 # >> 13 # make boot >> 14 # >> 15 # Creating a BOOTP image (arch/alpha/boot/bootpfile or bootpzfile) >> 16 # is done via: >> 17 # >> 18 # make bootpfile # using an uncompressed kernel >> 19 # make bootpzfile # using a compressed kernel >> 20 # >> 21 # Adding an INITRD image to a BOOTP file (arch/alpha/boot/bootpzfile) >> 22 # can be done, e.g, via: >> 23 # >> 24 # INITRD=`pwd`/initrd.img make bootpzfile >> 25 >> 26 LINKFLAGS = -static -T bootloader.lds #-N -relax >> 27 >> 28 .S.s: >> 29 $(CPP) $(AFLAGS) -traditional -o $*.o $< >> 30 .S.o: >> 31 $(CC) $(AFLAGS) -traditional -c -o $*.o $< >> 32 >> 33 OBJECTS = head.o main.o >> 34 BPOBJECTS = head.o bootp.o >> 35 BPZOBJECTS = head.o bootpz.o misc.o >> 36 TARGETS = vmlinux.gz tools/objstrip # also needed by aboot & milo >> 37 VMLINUX = $(TOPDIR)/vmlinux >> 38 OBJSTRIP = tools/objstrip >> 39 >> 40 all: $(TARGETS) >> 41 @echo Ready to install kernel in $(shell pwd)/vmlinux.gz >> 42 >> 43 # normally no need to build these: >> 44 rawboot: vmlinux.nh tools/lxboot tools/bootlx >> 45 >> 46 msb: tools/lxboot tools/bootlx vmlinux.nh >> 47 ( cat tools/lxboot tools/bootlx vmlinux.nh ) > /dev/rz0a >> 48 disklabel -rw rz0 'linux' tools/lxboot tools/bootlx >> 49 >> 50 bootimage: tools/mkbb tools/lxboot tools/bootlx vmlinux.nh >> 51 ( cat tools/lxboot tools/bootlx vmlinux.nh ) > bootimage >> 52 tools/mkbb bootimage tools/lxboot >> 53 >> 54 bootpfile: tools/bootph vmlinux.nh >> 55 cat tools/bootph vmlinux.nh > bootpfile >> 56 ifdef INITRD >> 57 cat $(INITRD) >> bootpfile >> 58 endif >> 59 >> 60 bootpzfile: tools/bootpzh vmlinux.nh.gz >> 61 cat tools/bootpzh vmlinux.nh.gz > bootpzfile >> 62 ifdef INITRD >> 63 cat $(INITRD) >> bootpzfile >> 64 endif >> 65 >> 66 srmboot: bootdevice bootimage >> 67 dd if=bootimage of=$(BOOTDEV) bs=512 seek=1 skip=1 >> 68 tools/mkbb $(BOOTDEV) tools/lxboot >> 69 >> 70 bootdevice: >> 71 @test "$(BOOTDEV)" != "" || (echo You must specify BOOTDEV ; exit -1) >> 72 >> 73 vmlinux.gz: $(TOPDIR)/vmlinux >> 74 gzip -fv9c $(TOPDIR)/vmlinux > vmlinux.gz >> 75 >> 76 vmlinux.nh.gz: vmlinux.nh >> 77 gzip -fv9c vmlinux.nh > vmlinux.nh.gz >> 78 >> 79 main.o: ksize.h >> 80 >> 81 bootp.o: ksize.h >> 82 >> 83 bootpz.o: kzsize.h >> 84 >> 85 ksize.h: vmlinux.nh dummy >> 86 echo "#define KERNEL_SIZE `ls -l vmlinux.nh | awk '{print $$5}'`" > $@T >> 87 ifdef INITRD >> 88 [ ! \( -f $(INITRD) \) ] || exit 1 >> 89 echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T >> 90 endif >> 91 cmp -s $@T $@ || mv -f $@T $@ >> 92 rm -f $@T >> 93 >> 94 kzsize.h: vmlinux.nh.gz dummy >> 95 echo "#define KERNEL_SIZE `ls -l vmlinux.nh | awk '{print $$5}'`" > $@T >> 96 echo "#define KERNEL_Z_SIZE `ls -l vmlinux.nh.gz | awk '{print $$5}'`" >> $@T >> 97 ifdef INITRD >> 98 [ -f $(INITRD) ] || exit 1 >> 99 echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T >> 100 endif >> 101 cmp -s $@T $@ || mv -f $@T $@ >> 102 rm -f $@T >> 103 >> 104 vmlinux.nh: $(VMLINUX) $(OBJSTRIP) >> 105 $(OBJSTRIP) -v $(VMLINUX) vmlinux.nh >> 106 >> 107 vmlinux: $(VMLINUX) >> 108 $(STRIP) -o vmlinux $(VMLINUX) >> 109 >> 110 tools/lxboot: $(OBJSTRIP) bootloader >> 111 $(OBJSTRIP) -p bootloader tools/lxboot >> 112 >> 113 tools/bootlx: bootloader $(OBJSTRIP) >> 114 $(OBJSTRIP) -vb bootloader tools/bootlx >> 115 >> 116 tools/bootph: bootpheader $(OBJSTRIP) >> 117 $(OBJSTRIP) -vb bootpheader tools/bootph >> 118 >> 119 tools/bootpzh: bootpzheader $(OBJSTRIP) >> 120 $(OBJSTRIP) -vb bootpzheader tools/bootpzh >> 121 >> 122 $(OBJSTRIP): $(OBJSTRIP).c >> 123 $(HOSTCC) $(HOSTCFLAGS) -I$(HPATH) $(OBJSTRIP).c -o $(OBJSTRIP) 8 124 9 UIMAGE_LOADADDR = $(shell $(NM) vmlinux | awk !! 125 tools/mkbb: tools/mkbb.c 10 UIMAGE_ENTRYADDR = $(shell $(NM) vmlinux | awk !! 126 $(HOSTCC) tools/mkbb.c -o tools/mkbb 11 UIMAGE_COMPRESSION = gzip << 12 127 13 OBJCOPYFLAGS_vmlinux.bin := -O binary !! 128 bootloader: $(OBJECTS) >> 129 $(LD) $(LINKFLAGS) $(OBJECTS) $(LIBS) -o bootloader 14 130 15 targets += vmlinux.bin vmlinux.gz vmImage !! 131 bootpheader: $(BPOBJECTS) >> 132 $(LD) $(LINKFLAGS) $(BPOBJECTS) $(LIBS) -o bootpheader 16 133 17 $(obj)/vmlinux.bin: vmlinux FORCE !! 134 bootpzheader: $(BPZOBJECTS) 18 $(call if_changed,objcopy) !! 135 $(LD) $(LINKFLAGS) $(BPZOBJECTS) $(LIBS) -o bootpzheader 19 136 20 $(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE !! 137 misc.o: misc.c $(TOPDIR)/lib/inflate.c 21 $(call if_changed,gzip) << 22 138 23 $(obj)/vmImage: $(obj)/vmlinux.gz FORCE !! 139 clean: 24 $(call if_changed,uimage) !! 140 rm -f $(TARGETS) bootloader bootimage bootpfile bootpheader 25 @$(kecho) 'Kernel: $@ is ready' !! 141 rm -f tools/mkbb tools/bootlx tools/lxboot tools/bootph >> 142 rm -f vmlinux.nh ksize.h 26 143 27 $(obj)/zImage: $(obj)/compressed/vmlinux FORCE !! 144 dep: 28 $(call if_changed,objcopy) << 29 @$(kecho) 'Kernel: $@ is ready' << 30 145 31 $(obj)/compressed/vmlinux: $(obj)/vmlinux.gz F !! 146 dummy: 32 $(Q)$(MAKE) $(build)=$(obj)/compressed <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.