11da177e4SLinus Torvalds# 21da177e4SLinus Torvalds# arch/alpha/boot/Makefile 31da177e4SLinus Torvalds# 41da177e4SLinus Torvalds# This file is subject to the terms and conditions of the GNU General Public 51da177e4SLinus Torvalds# License. See the file "COPYING" in the main directory of this archive 61da177e4SLinus Torvalds# for more details. 71da177e4SLinus Torvalds# 81da177e4SLinus Torvalds# Copyright (C) 1994 by Linus Torvalds 91da177e4SLinus Torvalds# 101da177e4SLinus Torvalds 111da177e4SLinus Torvaldshostprogs-y := tools/mkbb tools/objstrip 121da177e4SLinus Torvaldstargets := vmlinux.gz vmlinux \ 131da177e4SLinus Torvalds vmlinux.nh tools/lxboot tools/bootlx tools/bootph \ 141da177e4SLinus Torvalds tools/bootpzh bootloader bootpheader bootpzheader 151da177e4SLinus TorvaldsOBJSTRIP := $(obj)/tools/objstrip 161da177e4SLinus Torvalds 171da177e4SLinus Torvalds# SRM bootable image. Copy to offset 512 of a partition. 181da177e4SLinus Torvalds$(obj)/bootimage: $(addprefix $(obj)/tools/,mkbb lxboot bootlx) $(obj)/vmlinux.nh 191da177e4SLinus Torvalds ( cat $(obj)/tools/lxboot $(obj)/tools/bootlx $(obj)/vmlinux.nh ) > $@ 201da177e4SLinus Torvalds $(obj)/tools/mkbb $@ $(obj)/tools/lxboot 211da177e4SLinus Torvalds @echo ' Bootimage $@ is ready' 221da177e4SLinus Torvalds 231da177e4SLinus Torvalds# BOOTP bootable image. Define INITRD during make to append initrd image. 241da177e4SLinus Torvalds$(obj)/bootpfile: $(obj)/tools/bootph $(obj)/vmlinux.nh 251da177e4SLinus Torvalds cat $(obj)/tools/bootph $(obj)/vmlinux.nh > $@ 261da177e4SLinus Torvaldsifdef INITRD 271da177e4SLinus Torvalds cat $(INITRD) >> $@ 281da177e4SLinus Torvaldsendif 291da177e4SLinus Torvalds 301da177e4SLinus Torvalds# Compressed kernel BOOTP bootable image. 311da177e4SLinus Torvalds# Define INITRD during make to append initrd image. 321da177e4SLinus Torvalds$(obj)/bootpzfile: $(obj)/tools/bootpzh $(obj)/vmlinux.nh.gz 331da177e4SLinus Torvalds cat $(obj)/tools/bootpzh $(obj)/vmlinux.nh.gz > $@ 341da177e4SLinus Torvaldsifdef INITRD 351da177e4SLinus Torvalds cat $(INITRD) >> $@ 361da177e4SLinus Torvaldsendif 371da177e4SLinus Torvalds 381da177e4SLinus Torvalds# Compressed kernel image 391da177e4SLinus Torvalds$(obj)/vmlinux.gz: $(obj)/vmlinux FORCE 401da177e4SLinus Torvalds $(call if_changed,gzip) 411da177e4SLinus Torvalds @echo ' Kernel $@ is ready' 421da177e4SLinus Torvalds 431da177e4SLinus Torvalds$(obj)/main.o: $(obj)/ksize.h 441da177e4SLinus Torvalds$(obj)/bootp.o: $(obj)/ksize.h 451da177e4SLinus Torvalds$(obj)/bootpz.o: $(obj)/kzsize.h 461da177e4SLinus Torvalds 471da177e4SLinus Torvalds$(obj)/ksize.h: $(obj)/vmlinux.nh FORCE 481da177e4SLinus Torvalds echo "#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T 491da177e4SLinus Torvaldsifdef INITRD 501da177e4SLinus Torvalds [ -f $(INITRD) ] || exit 1 511da177e4SLinus Torvalds echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T 521da177e4SLinus Torvaldsendif 531da177e4SLinus Torvalds cmp -s $@T $@ || mv -f $@T $@ 541da177e4SLinus Torvalds rm -f $@T 551da177e4SLinus Torvalds 561da177e4SLinus Torvalds$(obj)/kzsize.h: $(obj)/vmlinux.nh.gz FORCE 571da177e4SLinus Torvalds echo "#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T 581da177e4SLinus Torvalds echo "#define KERNEL_Z_SIZE `ls -l $(obj)/vmlinux.nh.gz | awk '{print $$5}'`" >> $@T 591da177e4SLinus Torvaldsifdef INITRD 601da177e4SLinus Torvalds [ -f $(INITRD) ] || exit 1 611da177e4SLinus Torvalds echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T 621da177e4SLinus Torvaldsendif 631da177e4SLinus Torvalds cmp -s $@T $@ || mv -f $@T $@ 641da177e4SLinus Torvalds rm -f $@T 651da177e4SLinus Torvalds 661da177e4SLinus Torvaldsquiet_cmd_strip = STRIP $@ 671da177e4SLinus Torvalds cmd_strip = $(STRIP) -o $@ $< 681da177e4SLinus Torvalds 691da177e4SLinus Torvalds$(obj)/vmlinux: vmlinux FORCE 701da177e4SLinus Torvalds $(call if_changed,strip) 711da177e4SLinus Torvalds 721da177e4SLinus Torvaldsquiet_cmd_objstrip = OBJSTRIP $@ 731da177e4SLinus Torvalds cmd_objstrip = $(OBJSTRIP) $(OSFLAGS_$(@F)) $< $@ 741da177e4SLinus Torvalds 751da177e4SLinus TorvaldsOSFLAGS_vmlinux.nh := -v 761da177e4SLinus TorvaldsOSFLAGS_lxboot := -p 771da177e4SLinus TorvaldsOSFLAGS_bootlx := -vb 781da177e4SLinus TorvaldsOSFLAGS_bootph := -vb 791da177e4SLinus TorvaldsOSFLAGS_bootpzh := -vb 801da177e4SLinus Torvalds 811da177e4SLinus Torvalds$(obj)/vmlinux.nh: vmlinux $(OBJSTRIP) FORCE 821da177e4SLinus Torvalds $(call if_changed,objstrip) 831da177e4SLinus Torvalds 841da177e4SLinus Torvalds$(obj)/vmlinux.nh.gz: $(obj)/vmlinux.nh FORCE 851da177e4SLinus Torvalds $(call if_changed,gzip) 861da177e4SLinus Torvalds 871da177e4SLinus Torvalds$(obj)/tools/lxboot: $(obj)/bootloader $(OBJSTRIP) FORCE 881da177e4SLinus Torvalds $(call if_changed,objstrip) 891da177e4SLinus Torvalds 901da177e4SLinus Torvalds$(obj)/tools/bootlx: $(obj)/bootloader $(OBJSTRIP) FORCE 911da177e4SLinus Torvalds $(call if_changed,objstrip) 921da177e4SLinus Torvalds 931da177e4SLinus Torvalds$(obj)/tools/bootph: $(obj)/bootpheader $(OBJSTRIP) FORCE 941da177e4SLinus Torvalds $(call if_changed,objstrip) 951da177e4SLinus Torvalds 961da177e4SLinus Torvalds$(obj)/tools/bootpzh: $(obj)/bootpzheader $(OBJSTRIP) FORCE 971da177e4SLinus Torvalds $(call if_changed,objstrip) 981da177e4SLinus Torvalds 991da177e4SLinus TorvaldsLDFLAGS_bootloader := -static -uvsprintf -T #-N -relax 1001da177e4SLinus TorvaldsLDFLAGS_bootpheader := -static -uvsprintf -T #-N -relax 1011da177e4SLinus TorvaldsLDFLAGS_bootpzheader := -static -uvsprintf -T #-N -relax 1021da177e4SLinus Torvalds 1031da177e4SLinus TorvaldsOBJ_bootlx := $(obj)/head.o $(obj)/main.o 1041da177e4SLinus TorvaldsOBJ_bootph := $(obj)/head.o $(obj)/bootp.o 1051da177e4SLinus TorvaldsOBJ_bootpzh := $(obj)/head.o $(obj)/bootpz.o $(obj)/misc.o 1061da177e4SLinus Torvalds 107*135db3ebSMeelis Roos$(obj)/bootloader: $(obj)/bootloader.lds $(OBJ_bootlx) $(LIBS_Y) FORCE 1081da177e4SLinus Torvalds $(call if_changed,ld) 1091da177e4SLinus Torvalds 1101da177e4SLinus Torvalds$(obj)/bootpheader: $(obj)/bootloader.lds $(OBJ_bootph) $(LIBS_Y) FORCE 1111da177e4SLinus Torvalds $(call if_changed,ld) 1121da177e4SLinus Torvalds 1131da177e4SLinus Torvalds$(obj)/bootpzheader: $(obj)/bootloader.lds $(OBJ_bootpzh) $(LIBS_Y) FORCE 1141da177e4SLinus Torvalds $(call if_changed,ld) 1151da177e4SLinus Torvalds 1161da177e4SLinus Torvalds$(obj)/misc.o: lib/inflate.c 117