linux/arch/alpha/boot/Makefile
<<
>>
Prefs
   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
  11hostprogs       := tools/mkbb tools/objstrip
  12targets         := vmlinux.gz vmlinux \
  13                   vmlinux.nh tools/lxboot tools/bootlx tools/bootph \
  14                   tools/bootpzh bootloader bootpheader bootpzheader 
  15OBJSTRIP        := $(obj)/tools/objstrip
  16
  17KBUILD_HOSTCFLAGS := -Wall -I$(objtree)/usr/include
  18BOOTCFLAGS      += -I$(objtree)/$(obj) -I$(srctree)/$(obj)
  19
  20# SRM bootable image.  Copy to offset 512 of a partition.
  21$(obj)/bootimage: $(addprefix $(obj)/tools/,mkbb lxboot bootlx) $(obj)/vmlinux.nh
  22        ( cat $(obj)/tools/lxboot $(obj)/tools/bootlx $(obj)/vmlinux.nh ) > $@ 
  23        $(obj)/tools/mkbb $@ $(obj)/tools/lxboot
  24        @echo '  Bootimage $@ is ready'
  25
  26# BOOTP bootable image.  Define INITRD during make to append initrd image.
  27$(obj)/bootpfile: $(obj)/tools/bootph $(obj)/vmlinux.nh
  28        cat $(obj)/tools/bootph $(obj)/vmlinux.nh > $@
  29ifdef INITRD
  30        cat $(INITRD) >> $@
  31endif
  32
  33# Compressed kernel BOOTP bootable image.
  34# Define INITRD during make to append initrd image.
  35$(obj)/bootpzfile: $(obj)/tools/bootpzh $(obj)/vmlinux.nh.gz
  36        cat $(obj)/tools/bootpzh $(obj)/vmlinux.nh.gz > $@
  37ifdef INITRD
  38        cat $(INITRD) >> $@
  39endif
  40
  41# Compressed kernel image
  42$(obj)/vmlinux.gz: $(obj)/vmlinux FORCE
  43        $(call if_changed,gzip)
  44        @echo '  Kernel $@ is ready'
  45
  46$(obj)/main.o: $(obj)/ksize.h
  47$(obj)/bootp.o: $(obj)/ksize.h
  48$(obj)/bootpz.o: $(obj)/kzsize.h
  49
  50$(obj)/ksize.h: $(obj)/vmlinux.nh FORCE
  51        echo "#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T
  52ifdef INITRD
  53        [ -f $(INITRD) ] || exit 1
  54        echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
  55endif
  56        cmp -s $@T $@ || mv -f $@T $@
  57        rm -f $@T
  58
  59$(obj)/kzsize.h: $(obj)/vmlinux.nh.gz FORCE
  60        echo "#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T
  61        echo "#define KERNEL_Z_SIZE `ls -l $(obj)/vmlinux.nh.gz | awk '{print $$5}'`" >> $@T
  62ifdef INITRD
  63        [ -f $(INITRD) ] || exit 1
  64        echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
  65endif
  66        cmp -s $@T $@ || mv -f $@T $@
  67        rm -f $@T
  68
  69quiet_cmd_strip = STRIP  $@
  70      cmd_strip = $(STRIP) -o $@ $<
  71
  72$(obj)/vmlinux: vmlinux FORCE
  73        $(call if_changed,strip)
  74
  75quiet_cmd_objstrip = OBJSTRIP $@
  76      cmd_objstrip = $(OBJSTRIP) $(OSFLAGS_$(@F)) $< $@
  77
  78OSFLAGS_vmlinux.nh      := -v
  79OSFLAGS_lxboot          := -p
  80OSFLAGS_bootlx          := -vb
  81OSFLAGS_bootph          := -vb
  82OSFLAGS_bootpzh         := -vb
  83
  84$(obj)/vmlinux.nh: vmlinux $(OBJSTRIP) FORCE
  85        $(call if_changed,objstrip)
  86
  87$(obj)/vmlinux.nh.gz: $(obj)/vmlinux.nh FORCE
  88        $(call if_changed,gzip)
  89
  90$(obj)/tools/lxboot: $(obj)/bootloader $(OBJSTRIP) FORCE
  91        $(call if_changed,objstrip)
  92
  93$(obj)/tools/bootlx: $(obj)/bootloader $(OBJSTRIP) FORCE
  94        $(call if_changed,objstrip)
  95
  96$(obj)/tools/bootph: $(obj)/bootpheader $(OBJSTRIP) FORCE
  97        $(call if_changed,objstrip)
  98
  99$(obj)/tools/bootpzh: $(obj)/bootpzheader $(OBJSTRIP) FORCE
 100        $(call if_changed,objstrip)
 101
 102LDFLAGS_bootloader   := -static -T # -N -relax
 103LDFLAGS_bootloader   := -static -T # -N -relax
 104LDFLAGS_bootpheader  := -static -T # -N -relax
 105LDFLAGS_bootpzheader := -static -T # -N -relax
 106
 107OBJ_bootlx   := $(obj)/head.o $(obj)/stdio.o $(obj)/main.o
 108OBJ_bootph   := $(obj)/head.o $(obj)/stdio.o $(obj)/bootp.o
 109OBJ_bootpzh  := $(obj)/head.o $(obj)/stdio.o $(obj)/bootpz.o $(obj)/misc.o
 110
 111$(obj)/bootloader: $(obj)/bootloader.lds $(OBJ_bootlx) $(LIBS_Y) FORCE
 112        $(call if_changed,ld)
 113
 114$(obj)/bootpheader: $(obj)/bootloader.lds $(OBJ_bootph) $(LIBS_Y) FORCE
 115        $(call if_changed,ld)
 116
 117$(obj)/bootpzheader: $(obj)/bootloader.lds $(OBJ_bootpzh) $(LIBS_Y) FORCE
 118        $(call if_changed,ld)
 119
 120$(obj)/misc.o: lib/inflate.c
 121