BOOTDIR=../boot
-BOOTLIB=$BOOTDIR/libboot.a$O
BOOTFILES=\
- bootauth.$O\
aux.$O\
boot.$O\
- bootcache.$O\
- bootip.$O\
- local.$O\
- embed.$O\
- settime.$O\
- sac.$O\
- paq.$O\
printstub.$O\
-$BOOTLIB(%.$O):N: %.$O
-
-$BOOTLIB: ${BOOTFILES:%=$BOOTLIB(%)}
- names=`{membername $newprereq}
- ar vu $BOOTLIB $names
- rm $names
-
$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