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