2005-04-16 15:20:36 -07:00
#
# arch/alpha/boot/Makefile
#
# This file is subject to the terms and conditions of the GNU General Public
# License. See the file "COPYING" in the main directory of this archive
# for more details.
#
# Copyright (C) 1994 by Linus Torvalds
#
hostprogs-y := tools/mkbb tools/objstrip
targets := vmlinux.gz vmlinux \
vmlinux.nh tools/lxboot tools/bootlx tools/bootph \
tools/bootpzh bootloader bootpheader bootpzheader
OBJSTRIP := $( obj) /tools/objstrip
# SRM bootable image. Copy to offset 512 of a partition.
$(obj)/bootimage : $( addprefix $ ( obj ) /tools /,mkbb lxboot bootlx ) $( obj ) /vmlinux .nh
( cat $( obj) /tools/lxboot $( obj) /tools/bootlx $( obj) /vmlinux.nh ) > $@
$( obj) /tools/mkbb $@ $( obj) /tools/lxboot
@echo ' Bootimage $@ is ready'
# BOOTP bootable image. Define INITRD during make to append initrd image.
$(obj)/bootpfile : $( obj ) /tools /bootph $( obj ) /vmlinux .nh
cat $( obj) /tools/bootph $( obj) /vmlinux.nh > $@
i f d e f I N I T R D
cat $( INITRD) >> $@
e n d i f
# Compressed kernel BOOTP bootable image.
# Define INITRD during make to append initrd image.
$(obj)/bootpzfile : $( obj ) /tools /bootpzh $( obj ) /vmlinux .nh .gz
cat $( obj) /tools/bootpzh $( obj) /vmlinux.nh.gz > $@
i f d e f I N I T R D
cat $( INITRD) >> $@
e n d i f
# Compressed kernel image
$(obj)/vmlinux.gz : $( obj ) /vmlinux FORCE
$( call if_changed,gzip)
@echo ' Kernel $@ is ready'
$(obj)/main.o : $( obj ) /ksize .h
$(obj)/bootp.o : $( obj ) /ksize .h
$(obj)/bootpz.o : $( obj ) /kzsize .h
$(obj)/ksize.h : $( obj ) /vmlinux .nh FORCE
echo " #define KERNEL_SIZE `ls -l $( obj) /vmlinux.nh | awk '{print $$ 5}'` " > $@ T
i f d e f I N I T R D
[ -f $( INITRD) ] || exit 1
echo " #define INITRD_IMAGE_SIZE `ls -l $( INITRD) | awk '{print $$ 5}'` " >> $@ T
e n d i f
cmp -s $@ T $@ || mv -f $@ T $@
rm -f $@ T
$(obj)/kzsize.h : $( obj ) /vmlinux .nh .gz FORCE
echo " #define KERNEL_SIZE `ls -l $( obj) /vmlinux.nh | awk '{print $$ 5}'` " > $@ T
echo " #define KERNEL_Z_SIZE `ls -l $( obj) /vmlinux.nh.gz | awk '{print $$ 5}'` " >> $@ T
i f d e f I N I T R D
[ -f $( INITRD) ] || exit 1
echo " #define INITRD_IMAGE_SIZE `ls -l $( INITRD) | awk '{print $$ 5}'` " >> $@ T
e n d i f
cmp -s $@ T $@ || mv -f $@ T $@
rm -f $@ T
quiet_cmd_strip = STRIP $@
cmd_strip = $( STRIP) -o $@ $<
$(obj)/vmlinux : vmlinux FORCE
$( call if_changed,strip)
quiet_cmd_objstrip = OBJSTRIP $@
cmd_objstrip = $( OBJSTRIP) $( OSFLAGS_$( @F) ) $< $@
OSFLAGS_vmlinux.nh := -v
OSFLAGS_lxboot := -p
OSFLAGS_bootlx := -vb
OSFLAGS_bootph := -vb
OSFLAGS_bootpzh := -vb
$(obj)/vmlinux.nh : vmlinux $( OBJSTRIP ) FORCE
$( call if_changed,objstrip)
$(obj)/vmlinux.nh.gz : $( obj ) /vmlinux .nh FORCE
$( call if_changed,gzip)
$(obj)/tools/lxboot : $( obj ) /bootloader $( OBJSTRIP ) FORCE
$( call if_changed,objstrip)
$(obj)/tools/bootlx : $( obj ) /bootloader $( OBJSTRIP ) FORCE
$( call if_changed,objstrip)
$(obj)/tools/bootph : $( obj ) /bootpheader $( OBJSTRIP ) FORCE
$( call if_changed,objstrip)
$(obj)/tools/bootpzh : $( obj ) /bootpzheader $( OBJSTRIP ) FORCE
$( call if_changed,objstrip)
LDFLAGS_bootloader := -static -uvsprintf -T #-N -relax
LDFLAGS_bootpheader := -static -uvsprintf -T #-N -relax
LDFLAGS_bootpzheader := -static -uvsprintf -T #-N -relax
OBJ_bootlx := $( obj) /head.o $( obj) /main.o
OBJ_bootph := $( obj) /head.o $( obj) /bootp.o
OBJ_bootpzh := $( obj) /head.o $( obj) /bootpz.o $( obj) /misc.o
2007-07-31 00:38:14 -07:00
$(obj)/bootloader : $( obj ) /bootloader .lds $( OBJ_bootlx ) $( LIBS_Y ) FORCE
2005-04-16 15:20:36 -07:00
$( call if_changed,ld)
$(obj)/bootpheader : $( obj ) /bootloader .lds $( OBJ_bootph ) $( LIBS_Y ) FORCE
$( call if_changed,ld)
$(obj)/bootpzheader : $( obj ) /bootloader .lds $( OBJ_bootpzh ) $( LIBS_Y ) FORCE
$( call if_changed,ld)
$(obj)/misc.o : lib /inflate .c