summaryrefslogtreecommitdiff
path: root/sys/src/9/boot/bootmkfile
blob: af41e3829645bc1878f9051b45ce3a945c73fb34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
BOOTDIR=../boot

BOOTFILES=\
	aux.$O\
	boot.$O\
	printstub.$O\

$BOOTFILES:	$BOOTDIR/boot.h

%.$O:	$BOOTDIR/%.c
	$CC -I$BOOTDIR $CFLAGS $BOOTDIR/$stem.c

boot:	$BOOTFILES
	$LD -o $target $BOOTFILES

# look for proto file in order:
#	1) $CONF.bootfs.proto		(config specific)
#	2) bootfs.proto			(kernel specific)
#	3) $BOOTDIR/bootfs.proto	(default generic)
#
BOOTFSPROTO=`{for(i in $CONF.bootfs.proto bootfs.proto $BOOTDIR/bootfs.proto) test -r $i && echo $i && exit}

bootfs.paq:	$BOOTFSPROTO `{disk/mkfs -aos / $BOOTFSPROTO >[2]/dev/null}
	mkdir -p bootfs
	disk/mkfs -s / -d bootfs $BOOTFSPROTO
	@{
		cd bootfs/$objtype/bin
		strip * */* */*/* >[2]/dev/null || status=''
	}
	mkpaqfs -o $target bootfs
	rm -rf bootfs