Makefile revision 1.16
1# $NetBSD: Makefile,v 1.16 2000/06/09 14:58:32 tsutsui 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 17KERNEL3 = ${KERNOBJDIR}/INSTALL/netbsd 18KERNEL3X = ${KERNOBJDIR}/INSTALL3X/netbsd 19 20MOUNT_POINT?= /mnt 21VND?= vnd1 22VND_DEV?= /dev/${VND}a 23VND_RDEV?= /dev/r${VND}a 24VND_CRDEV?= /dev/r${VND}c 25 26# These are all the parameters for the miniroot: (10MB) 27DISKTYPE= miniroot 28SIZE= 10 29# bigendian, old format, minfree, opt, b/i, cpg 30NEWFSARGS= -B be -O -m 0 -o space -i 8192 -c 16 31 32CLEANFILES= ${IMAGE}.gz ${IMAGE} ${IMAGE}.tmp install.sub 33 34all: ${IMAGE}.gz 35 36${IMAGE}.gz: ${TREE} ${LISTS} install.sub 37 dd if=/dev/zero of=${IMAGE} bs=1024k count=${SIZE} 38 vnconfig -t ${DISKTYPE} -v -c ${VND} ${IMAGE} 39 disklabel -rw ${VND} ${DISKTYPE} 40 newfs ${NEWFSARGS} ${VND_RDEV} 41 mount ${VND_DEV} ${MOUNT_POINT} 42 mtree -def ${TREE} -p ${MOUNT_POINT}/ -u 43 cp ${KERNEL3} ${MOUNT_POINT}/netbsd.sun3 44 cp ${KERNEL3X} ${MOUNT_POINT}/netbsd.sun3x 45 TOPDIR=${TOP} CURDIR=${.CURDIR} \ 46 OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \ 47 sh ${TOP}/common/RunList.sh ${LISTS} 48 sync ; sleep 1 ; sync 49 cd ${MOUNT_POINT} ;\ 50 usr/mdec/installboot -v ufsboot usr/mdec/bootxx ${VND_CRDEV} 51 sync 52 @echo "" 53 @df -i ${MOUNT_POINT} 54 @echo "" 55 -umount ${MOUNT_POINT} 56 vnconfig -u ${VND} 57 gzip -9 -c ${IMAGE} > ${IMAGE}.tmp 58 -mv -f ${IMAGE}.tmp ${IMAGE}.gz 59 60# Do not delete this if I change my mind and kill make... 61.PRECIOUS: ${IMAGE}.gz 62 63install.sub : ${TOP}/../miniroot/install.sub 64 sed -e "/^VERSION=/s/=.*/=${REV}/" < $? > $@ 65 66clean cleandir distclean: 67 -rm -f a.out core *.core *.o 68 -rm -f ${CLEANFILES} 69 70# Standard rules needed by the above... 71.include <bsd.obj.mk> 72 73.if !defined(RELEASEDIR) 74release: 75 @echo setenv RELEASEDIR before doing that! 76 @false 77.else # RELEASEDIR 78release: ${IMAGE}.gz 79 cp -p ${IMAGE}.gz \ 80 ${RELEASEDIR}/installation/miniroot/${IMAGE}.gz 81.endif # RELEASEDIR 82