PageRenderTime 25ms CodeModel.GetById 17ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

/arch/alpha/boot/Makefile

http://github.com/mirrors/linux
Makefile | 120 lines | 81 code | 25 blank | 14 comment | 4 complexity | f64ef3f988acf289c4baee17d201e336 MD5 | raw file
  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