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