summaryrefslogtreecommitdiff
path: root/distrib/amd64/ramdiskA/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'distrib/amd64/ramdiskA/Makefile')
-rw-r--r--distrib/amd64/ramdiskA/Makefile91
1 files changed, 84 insertions, 7 deletions
diff --git a/distrib/amd64/ramdiskA/Makefile b/distrib/amd64/ramdiskA/Makefile
index a3fbf025342..490673d1ec7 100644
--- a/distrib/amd64/ramdiskA/Makefile
+++ b/distrib/amd64/ramdiskA/Makefile
@@ -1,10 +1,87 @@
-# $OpenBSD: Makefile,v 1.3 2016/10/19 16:49:58 deraadt Exp $
+# $OpenBSD: Makefile,v 1.4 2019/04/30 17:46:03 deraadt Exp $
-.PATH: ${.CURDIR}/../ramdiskA
-BOOT=${DESTDIR}/usr/mdec/fdboot
-RAMDISK=RAMDISK
-NOBSDRD=1
+FS= floppy${OSrev}.fs
+FSSIZE= 2880
+FSDISKTYPE= floppy3
+MOUNT_POINT= /mnt
+MTREE= ${UTILS}/mtree.conf
-.include "${.CURDIR}/Makefile.inc"
+LISTS= ${.CURDIR}/../common/list ${.CURDIR}/list.local
+UTILS= ${.CURDIR}/../../miniroot
-LISTS+= ${.CURDIR}/list.local
+EFIBOOT= ${DESTDIR}/usr/mdec/BOOTX64.EFI ${DESTDIR}/usr/mdec/BOOTIA32.EFI
+
+all: ${FS}
+
+${FS}: bsd.gz
+ dd if=/dev/zero of=${FS} bs=512 count=${FSSIZE}
+ vnconfig -v ${FS} > vnd
+ disklabel -w `cat vnd` ${FSDISKTYPE}
+ newfs -m 0 -o space -i 524288 -c ${FSSIZE} /dev/r`cat vnd`a
+ mount /dev/`cat vnd`a ${MOUNT_POINT}
+ cp ${DESTDIR}/usr/mdec/fdboot ${.OBJDIR}/boot
+ strip ${.OBJDIR}/boot
+ strip -R .comment -R .SUNW_ctf ${.OBJDIR}/boot
+ installboot -v -r ${MOUNT_POINT} `cat vnd` \
+ ${DESTDIR}/usr/mdec/biosboot ${.OBJDIR}/boot
+ dd if=bsd.gz of=${MOUNT_POINT}/bsd bs=512
+ df -i ${MOUNT_POINT}
+ umount ${MOUNT_POINT}
+ vnconfig -u `cat vnd`
+ rm -f vnd
+
+MRDISKTYPE= rdroot
+MRMAKEFSARGS= -o disklabel=${MRDISKTYPE},minfree=0,density=4096
+
+bsd.gz: bsd.rd
+ cp bsd.rd bsd.strip
+ strip bsd.strip
+ strip -R .comment -R .SUNW_ctf bsd.strip
+ gzip -c9n bsd.strip > bsd.gz
+
+bsd.rd: mr.fs bsd
+ cp bsd bsd.rd
+ rdsetroot bsd.rd mr.fs
+
+bsd:
+ cd ${.CURDIR}/../../../sys/arch/amd64/compile/RAMDISK && \
+ su ${BUILDUSER} -c '${MAKE} config && ${MAKE} clean && exec ${MAKE}'
+ cp -p ${.CURDIR}/../../../sys/arch/amd64/compile/RAMDISK/obj/bsd bsd
+
+mr.fs: instbin
+ rm -rf $@.d
+ install -d -o root -g wheel $@.d
+ mtree -def ${MTREE} -p $@.d -u
+ CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} OSrev=${OSrev} \
+ TARGDIR=$@.d UTILS=${UTILS} RELEASEDIR=${RELEASEDIR} \
+ sh ${UTILS}/runlist.sh ${LISTS}
+ rm $@.d/instbin
+ makefs ${MRMAKEFSARGS} $@ $@.d
+
+instbin.mk instbin.cache instbin.c: instbin.conf
+ crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib \
+ -c instbin.c -e instbin -m instbin.mk instbin.conf
+
+instbin: instbin.mk instbin.cache instbin.c
+ ${MAKE} -f instbin.mk SRCLIBDIR=${.CURDIR}/../../../lib all
+ strip -R .comment -R .SUNW_ctf instbin
+
+instbin.conf: ${LISTS}
+ awk -f ${UTILS}/makeconf.awk ${LISTS} > instbin.conf
+
+unconfig:
+ -umount -f ${MOUNT_POINT}
+ -[ -f vnd ] && vnconfig -u `cat vnd` && rm -f vnd
+
+.ifdef RELEASEDIR
+install:
+ cp ${FS} ${RELEASEDIR}/${FS}
+.endif # RELEASEDIR
+
+clean cleandir:
+ /bin/rm -f *.core mr.fs instbin instbin.mk instbin*.cache \
+ *.o *.lo *.c bsd bsd.rd bsd.gz bsd.strip floppy*.fs \
+ lib*.a lib*.olist instbin.map boot instbin.conf ${FS}
+ /bin/rm -rf mr.fs.d
+
+.include <bsd.obj.mk>