Makefile 2.47 KB
Newer Older
Linus Torvalds's avatar
Linus Torvalds committed
1 2 3 4 5 6 7 8 9 10
#
# 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
#

Linus Torvalds's avatar
Linus Torvalds committed
11
LINKFLAGS = -static -T bootloader.lds #-N -relax
Linus Torvalds's avatar
Linus Torvalds committed
12

Linus Torvalds's avatar
Linus Torvalds committed
13 14 15 16
.S.s:
	$(CC) -D__ASSEMBLY__ -traditional -E -o $*.o $<
.S.o:
	$(CC) -D__ASSEMBLY__ -traditional -c -o $*.o $<
Linus Torvalds's avatar
Linus Torvalds committed
17

Linus Torvalds's avatar
Linus Torvalds committed
18
OBJECTS = head.o main.o
Linus Torvalds's avatar
Linus Torvalds committed
19
BPOBJECTS = head.o bootp.o
Linus Torvalds's avatar
Linus Torvalds committed
20 21 22
TARGETS = vmlinux.gz tools/objstrip # also needed by aboot & milo
VMLINUX = $(TOPDIR)/vmlinux
OBJSTRIP = tools/objstrip
Linus Torvalds's avatar
Linus Torvalds committed
23

Linus Torvalds's avatar
Linus Torvalds committed
24 25
all:	$(TARGETS)
	@echo Ready to install kernel in $(shell pwd)/vmlinux.gz
Linus Torvalds's avatar
Linus Torvalds committed
26

Linus Torvalds's avatar
Linus Torvalds committed
27
# normally no need to build these:
Linus Torvalds's avatar
Linus Torvalds committed
28
rawboot: vmlinux.nh tools/lxboot tools/bootlx
Linus Torvalds's avatar
Linus Torvalds committed
29 30 31

msb:	tools/lxboot tools/bootlx vmlinux.nh
	( cat tools/lxboot tools/bootlx vmlinux.nh ) > /dev/rz0a
Linus Torvalds's avatar
Linus Torvalds committed
32 33
	disklabel -rw rz0 'linux' tools/lxboot tools/bootlx

Linus Torvalds's avatar
Linus Torvalds committed
34 35 36 37
bootimage:	tools/mkbb tools/lxboot tools/bootlx vmlinux.nh
	( cat tools/lxboot tools/bootlx vmlinux.nh ) > bootimage
	tools/mkbb bootimage tools/lxboot

Linus Torvalds's avatar
Linus Torvalds committed
38
bootpfile:	tools/bootph vmlinux.nh
Linus Torvalds's avatar
Linus Torvalds committed
39 40 41 42
	cat tools/bootph vmlinux.nh > bootpfile
ifdef INITRD
	cat $(INITRD) >> bootpfile
endif
Linus Torvalds's avatar
Linus Torvalds committed
43

Linus Torvalds's avatar
Linus Torvalds committed
44 45 46 47 48 49 50
srmboot:	bootdevice bootimage
	dd if=bootimage of=$(BOOTDEV) bs=512 seek=1 skip=1
	tools/mkbb $(BOOTDEV) tools/lxboot

bootdevice:
	@test "$(BOOTDEV)" != ""  || (echo You must specify BOOTDEV ; exit -1)

Linus Torvalds's avatar
Linus Torvalds committed
51
vmlinux.gz: vmlinux
Linus Torvalds's avatar
Linus Torvalds committed
52
	gzip -fv9 vmlinux
Linus Torvalds's avatar
Linus Torvalds committed
53

Linus Torvalds's avatar
Linus Torvalds committed
54 55
main.o: ksize.h

Linus Torvalds's avatar
Linus Torvalds committed
56 57
bootp.o: ksize.h

Linus Torvalds's avatar
Linus Torvalds committed
58 59 60 61 62 63 64 65
ksize.h: vmlinux.nh dummy
	echo "#define KERNEL_SIZE `ls -l vmlinux.nh | awk '{print $$5}'`" > $@T
ifdef INITRD
	[ -f $(INITRD) ] || exit 1
	echo "#define INITRD_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
endif
	cmp -s $@T $@ || mv -f $@T $@
	rm -f $@T
Linus Torvalds's avatar
Linus Torvalds committed
66 67 68

vmlinux.nh: $(VMLINUX) $(OBJSTRIP)
	$(OBJSTRIP) -v $(VMLINUX) vmlinux.nh
Linus Torvalds's avatar
Linus Torvalds committed
69 70

vmlinux: $(TOPDIR)/vmlinux
Linus Torvalds's avatar
Linus Torvalds committed
71
	strip -o vmlinux $(VMLINUX)
Linus Torvalds's avatar
Linus Torvalds committed
72

Linus Torvalds's avatar
Linus Torvalds committed
73 74
tools/lxboot: $(OBJSTRIP) bootloader
	$(OBJSTRIP) -p bootloader tools/lxboot
Linus Torvalds's avatar
Linus Torvalds committed
75

Linus Torvalds's avatar
Linus Torvalds committed
76 77
tools/bootlx: bootloader $(OBJSTRIP)
	$(OBJSTRIP) -vb bootloader tools/bootlx
Linus Torvalds's avatar
Linus Torvalds committed
78

Linus Torvalds's avatar
Linus Torvalds committed
79 80 81
tools/bootph: bootpheader $(OBJSTRIP)
	$(OBJSTRIP) -vb bootpheader tools/bootph

Linus Torvalds's avatar
Linus Torvalds committed
82 83
$(OBJSTRIP): $(OBJSTRIP).c
	$(HOSTCC) $(OBJSTRIP).c -o $(OBJSTRIP)
Linus Torvalds's avatar
Linus Torvalds committed
84

Linus Torvalds's avatar
Linus Torvalds committed
85 86 87
tools/mkbb: tools/mkbb.c
	$(HOSTCC) tools/mkbb.c -o tools/mkbb

Linus Torvalds's avatar
Linus Torvalds committed
88
bootloader: $(OBJECTS)
Linus Torvalds's avatar
Linus Torvalds committed
89
	$(LD) $(LINKFLAGS) $(OBJECTS) $(LIBS) -o bootloader
Linus Torvalds's avatar
Linus Torvalds committed
90

Linus Torvalds's avatar
Linus Torvalds committed
91
bootpheader: $(BPOBJECTS)
Linus Torvalds's avatar
Linus Torvalds committed
92
	$(LD) $(LINKFLAGS) $(BPOBJECTS) $(LIBS) -o bootpheader
Linus Torvalds's avatar
Linus Torvalds committed
93

Linus Torvalds's avatar
Linus Torvalds committed
94
clean:
Linus Torvalds's avatar
Linus Torvalds committed
95 96 97
	rm -f $(TARGETS) bootloader bootimage bootpfile bootpheader
	rm -f tools/mkbb tools/bootlx tools/lxboot tools/bootph
	rm -f vmlinux.nh ksize.h
Linus Torvalds's avatar
Linus Torvalds committed
98 99

dep:
Linus Torvalds's avatar
Linus Torvalds committed
100 101

dummy: