2
# arch/alpha/boot/Makefile
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
8
# Copyright (C) 1994 by Linus Torvalds
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
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'
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 > $@
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 > $@
38
# Compressed kernel image
39
$(obj)/vmlinux.gz: $(obj)/vmlinux FORCE
40
$(call if_changed,gzip)
41
@echo ' Kernel $@ is ready'
43
$(obj)/main.o: $(obj)/ksize.h
44
$(obj)/bootp.o: $(obj)/ksize.h
45
$(obj)/bootpz.o: $(obj)/kzsize.h
47
$(obj)/ksize.h: $(obj)/vmlinux.nh FORCE
48
echo "#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T
50
[ -f $(INITRD) ] || exit 1
51
echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
53
cmp -s $@T $@ || mv -f $@T $@
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
60
[ -f $(INITRD) ] || exit 1
61
echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
63
cmp -s $@T $@ || mv -f $@T $@
66
quiet_cmd_strip = STRIP $@
67
cmd_strip = $(STRIP) -o $@ $<
69
$(obj)/vmlinux: vmlinux FORCE
70
$(call if_changed,strip)
72
quiet_cmd_objstrip = OBJSTRIP $@
73
cmd_objstrip = $(OBJSTRIP) $(OSFLAGS_$(@F)) $< $@
75
OSFLAGS_vmlinux.nh := -v
79
OSFLAGS_bootpzh := -vb
81
$(obj)/vmlinux.nh: vmlinux $(OBJSTRIP) FORCE
82
$(call if_changed,objstrip)
84
$(obj)/vmlinux.nh.gz: $(obj)/vmlinux.nh FORCE
85
$(call if_changed,gzip)
87
$(obj)/tools/lxboot: $(obj)/bootloader $(OBJSTRIP) FORCE
88
$(call if_changed,objstrip)
90
$(obj)/tools/bootlx: $(obj)/bootloader $(OBJSTRIP) FORCE
91
$(call if_changed,objstrip)
93
$(obj)/tools/bootph: $(obj)/bootpheader $(OBJSTRIP) FORCE
94
$(call if_changed,objstrip)
96
$(obj)/tools/bootpzh: $(obj)/bootpzheader $(OBJSTRIP) FORCE
97
$(call if_changed,objstrip)
99
LDFLAGS_bootloader := -static -uvsprintf -T #-N -relax
100
LDFLAGS_bootpheader := -static -uvsprintf -T #-N -relax
101
LDFLAGS_bootpzheader := -static -uvsprintf -T #-N -relax
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
107
$(obj)/bootloader: $(obj)/bootloader.lds $(OBJ_bootlx) $(LIBS_Y) FORCE
108
$(call if_changed,ld)
110
$(obj)/bootpheader: $(obj)/bootloader.lds $(OBJ_bootph) $(LIBS_Y) FORCE
111
$(call if_changed,ld)
113
$(obj)/bootpzheader: $(obj)/bootloader.lds $(OBJ_bootpzh) $(LIBS_Y) FORCE
114
$(call if_changed,ld)
116
$(obj)/misc.o: lib/inflate.c