1# $OpenBSD: Makefile,v 1.30 2020/05/18 06:20:43 otto Exp $ 2 3FS= miniroot${OSrev}.img 4FSSIZE= 8192 5FSDISKTYPE= miniroot 6MOUNT_POINT= /mnt 7MTREE= ${UTILS}/mtree.conf 8RAMDISK= RAMDISK 9 10LISTS= ${.CURDIR}/list 11UTILS= ${.CURDIR}/../../miniroot 12 13MRDISKTYPE= rdroot 14MRMAKEFSARGS= -o disklabel=${MRDISKTYPE},minfree=0 15 16LDSTATIC=-static 17 18all: ${FS} 19 20${FS}: bsd.rd 21 dd if=/dev/zero of=${FS} bs=512 count=${FSSIZE} 22 vnconfig -v ${FS} > vnd 23 disklabel -w `cat vnd` ${FSDISKTYPE} 24 newfs -O 1 -m 0 -o space -i 524288 -c ${FSSIZE} /dev/r`cat vnd`a 25 mount /dev/`cat vnd`a ${MOUNT_POINT} 26 install -c -m 555 -o root -g wheel \ 27 ${DESTDIR}/usr/mdec/boot ${MOUNT_POINT}/boot 28 ln ${MOUNT_POINT}/boot ${MOUNT_POINT}/vmunix 29 install -c -m 555 -o root -g wheel bsd.rd ${MOUNT_POINT}/bsd 30 df -i ${MOUNT_POINT} 31 umount ${MOUNT_POINT} 32 vnconfig -u `cat vnd` 33 rm -f vnd 34 35bsd.rd: mr.fs bsd 36 cp bsd bsd.rd 37 rdsetroot bsd.rd mr.fs 38 39bsd: 40 cd ${.CURDIR}/../../../sys/arch/${MACHINE}/compile/${RAMDISK} && \ 41 su ${BUILDUSER} -c '${MAKE} config && ${MAKE} clean && exec ${MAKE}' 42 cp -p ${.CURDIR}/../../../sys/arch/${MACHINE}/compile/${RAMDISK}/obj/bsd bsd 43 44mr.fs: instbin 45 rm -rf $@.d 46 install -d -o root -g wheel $@.d 47 mtree -def ${MTREE} -p $@.d -u 48 CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} OSrev=${OSrev} \ 49 TARGDIR=$@.d UTILS=${UTILS} RELEASEDIR=${RELEASEDIR} \ 50 sh ${UTILS}/runlist.sh ${LISTS} 51 rm $@.d/instbin 52 makefs ${MRMAKEFSARGS} $@ $@.d 53 54instbin.mk instbin.cache instbin.c: instbin.conf 55 crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib \ 56 -c instbin.c -e instbin -m instbin.mk instbin.conf 57 58instbin: instbin.mk instbin.cache instbin.c 59 ${MAKE} -f instbin.mk SRCLIBDIR=${.CURDIR}/../../../lib all 60 61instbin.conf: ${LISTS} 62 awk -f ${UTILS}/makeconf.awk ${LISTS} > instbin.conf 63 64unconfig: 65 -umount -f ${MOUNT_POINT} 66 -[ -f vnd ] && vnconfig -u `cat vnd` && rm -f vnd 67 68.ifdef RELEASEDIR 69install: 70 cp bsd.rd ${RELEASEDIR}/bsd.rd 71 chmod a+r ${RELEASEDIR}/bsd.rd 72 cp ${FS} ${RELEASEDIR} 73.endif 74 75clean cleandir: 76 rm -f *.core mr.fs instbin instbin.conf instbin.mk instbin.cache \ 77 lib*.a lib*.olist instbin.map *.o *.lo *.c bsd bsd.rd 78 rm -rf mr.fs.d 79 80.include <bsd.obj.mk> 81