| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame^] | 1 | # | 
 | 2 | # arch/alpha/boot/Makefile | 
 | 3 | # | 
 | 4 | # This file is subject to the terms and conditions of the GNU General Public | 
 | 5 | # License.  See the file "COPYING" in the main directory of this archive | 
 | 6 | # for more details. | 
 | 7 | # | 
 | 8 | # Copyright (C) 1994 by Linus Torvalds | 
 | 9 | # | 
 | 10 |  | 
 | 11 | hostprogs-y	:= 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 | 
 | 37 |  | 
 | 38 | # Compressed kernel image | 
 | 39 | $(obj)/vmlinux.gz: $(obj)/vmlinux FORCE | 
 | 40 | 	$(call if_changed,gzip) | 
 | 41 | 	@echo '  Kernel $@ is ready' | 
 | 42 |  | 
 | 43 | $(obj)/main.o: $(obj)/ksize.h | 
 | 44 | $(obj)/bootp.o: $(obj)/ksize.h | 
 | 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 | 
 | 80 |  | 
 | 81 | $(obj)/vmlinux.nh: vmlinux $(OBJSTRIP) FORCE | 
 | 82 | 	$(call if_changed,objstrip) | 
 | 83 |  | 
 | 84 | $(obj)/vmlinux.nh.gz: $(obj)/vmlinux.nh FORCE | 
 | 85 | 	$(call if_changed,gzip) | 
 | 86 |  | 
 | 87 | $(obj)/tools/lxboot: $(obj)/bootloader $(OBJSTRIP) FORCE | 
 | 88 | 	$(call if_changed,objstrip) | 
 | 89 |  | 
 | 90 | $(obj)/tools/bootlx: $(obj)/bootloader $(OBJSTRIP) FORCE | 
 | 91 | 	$(call if_changed,objstrip) | 
 | 92 |  | 
 | 93 | $(obj)/tools/bootph: $(obj)/bootpheader $(OBJSTRIP) FORCE | 
 | 94 | 	$(call if_changed,objstrip) | 
 | 95 |  | 
 | 96 | $(obj)/tools/bootpzh: $(obj)/bootpzheader $(OBJSTRIP) FORCE | 
 | 97 | 	$(call if_changed,objstrip) | 
 | 98 |  | 
 | 99 | LDFLAGS_bootloader   := -static -uvsprintf -T  #-N -relax | 
 | 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) | 
 | 109 |  | 
 | 110 | $(obj)/bootpheader: $(obj)/bootloader.lds $(OBJ_bootph) $(LIBS_Y) FORCE | 
 | 111 | 	$(call if_changed,ld) | 
 | 112 |  | 
 | 113 | $(obj)/bootpzheader: $(obj)/bootloader.lds $(OBJ_bootpzh) $(LIBS_Y) FORCE | 
 | 114 | 	$(call if_changed,ld) | 
 | 115 |  | 
 | 116 | $(obj)/misc.o: lib/inflate.c |