1# $NetBSD: Makefile,v 1.3 2001/12/17 20:27:39 fredette Exp $ 2 3TOP= ${.CURDIR}/.. 4 5# This include just sets REV=XX 6.include "${TOP}/Makefile.inc" 7 8IMAGE= miniroot 9 10TREE= ${TOP}/common/${IMAGE}.tree 11 12LISTS= ${TOP}/common/${IMAGE}.list \ 13 ${TOP}/common/mini_sbin.list \ 14 ${TOP}/common/mini_bin.list \ 15 ${TOP}/common/mini_usr.list 16 17KERNEL = ${KERNOBJDIR}/INSTALL/netbsd 18 19MOUNT_POINT?= /mnt 20RAW_PART!= sysctl -n kern.rawpartition | tr '0-7' 'a-h' 21VND?= vnd1 22VND_DEV?= /dev/${VND}a 23VND_RDEV?= /dev/r${VND}a 24VND_CRDEV?= /dev/r${VND}${RAW_PART} 25 26# These are all the parameters for the miniroot: (12MB) 27DISKTYPE= miniroot 28SIZE= 12 29# bigendian, old format, minfree, opt, b/i, cpg 30NEWFSARGS= -B be -O -m 0 -o space -i 8192 -c 16 31MTREE?= mtree 32INSTALLBOOT?= usr/mdec/installboot 33 34CLEANFILES= ${IMAGE}.gz ${IMAGE} ${IMAGE}.tmp install.sub 35 36all: ${IMAGE}.gz 37 38${IMAGE}.gz: ${TREE} ${LISTS} install.sub 39 dd if=/dev/zero of=${IMAGE} bs=1024k count=${SIZE} 40 vnconfig -f ${.CURDIR}/disktab -t ${DISKTYPE} -v -c ${VND} ${IMAGE} 41 disklabel -f ${.CURDIR}/disktab -rw ${VND} ${DISKTYPE} 42 newfs ${NEWFSARGS} ${VND_RDEV} 43 mount ${VND_DEV} ${MOUNT_POINT} 44 ${MTREE} -def ${TREE} -p ${MOUNT_POINT}/ -u 45 cp ${KERNEL} ${MOUNT_POINT}/netbsd 46 TOPDIR=${TOP} CURDIR=${.CURDIR} DESTDIR=${DESTDIR} \ 47 OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \ 48 sh ${TOP}/common/RunList.sh ${LISTS} 49 sync ; sleep 1 ; sync 50 cd ${MOUNT_POINT} ;\ 51 ${INSTALLBOOT} -v ufsboot usr/mdec/bootxx ${VND_CRDEV} 52 sync 53 @echo "" 54 @df -i ${MOUNT_POINT} 55 @echo "" 56 -umount ${MOUNT_POINT} 57 dd if=${VND_DEV} of=${IMAGE}-tmp bs=1024k count=${SIZE} 58 vnconfig -u ${VND} 59 mv ${IMAGE}-tmp ${IMAGE} 60 gzip -9 -c ${IMAGE} > ${IMAGE}.tmp 61 -mv -f ${IMAGE}.tmp ${IMAGE}.gz 62 63unconfig: 64 -umount -f ${MOUNT_POINT} 65 -vnconfig -u ${VND} 66 -/bin/rm -f ${IMAGE} ${IMAGE}.tmp 67 68# Do not delete this if I change my mind and kill make... 69.PRECIOUS: ${IMAGE}.gz 70 71install.sub : ${TOP}/../miniroot/install.sub 72 sed -e "/^VERSION=/s/=.*/=${REV}/" < $? > $@ 73 74clean cleandir distclean: 75 -rm -f a.out core *.core *.o 76 -rm -f ${CLEANFILES} 77 78.if !defined(RELEASEDIR) 79release: 80 @echo setenv RELEASEDIR before doing that! 81 @false 82.else # RELEASEDIR 83release: ${IMAGE}.gz 84 -mkdir -p ${RELEASEDIR}/installation/miniroot 85 cp -p ${IMAGE}.gz \ 86 ${RELEASEDIR}/installation/miniroot/${IMAGE}.gz 87.endif # RELEASEDIR 88 89# Standard rules needed by the above... 90.include <bsd.obj.mk> 91.include <bsd.subdir.mk> 92