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