1 # $NetBSD: Makefile,v 1.1 2000/09/18 07:21:02 msaitoh Exp $ 2 3 TOP= ${.CURDIR}/.. 4 WARNS=1 5 6 .include "${TOP}/Makefile.inc" 7 IMAGE= ramdisk.fs 8 9 CBIN= ramdiskbin 10 11 MOUNT_POINT?= /mnt 12 # DEV/RDEV file system device, CDEV/RDEV vnconfig device 13 VND?= vnd0 14 VND_DEV= /dev/${VND}a 15 VND_RDEV= /dev/r${VND}a 16 VND_CDEV= /dev/${VND}d 17 VND_CRDEV= /dev/r${VND}d 18 IMAGE?= xxx.fs 19 MDEC= ${DESTDIR}/usr/mdec 20 21 SUDO= sudo 22 CRUNCHGEN= /usr/local/bin/sh-crunchgen 23 DISKLABEL= ${SUDO} disklabel 24 MOUNT= ${SUDO} mount 25 MTREE= ${SUDO} mtree 26 NEWFS= ${SUDO} newfs 27 UMOUNT= ${SUDO} umount 28 VNCONFIG= ${SUDO} vnconfig 29 30 LISTS= ../ramdiskcommon/list 31 CRUNCHCONF= ../ramdiskcommon/${CBIN}.conf 32 MTREECONF= ../ramdiskcommon/mtree.conf 33 34 RAMDISKSPC= 128 35 RAMDISKCYLS= 54 36 RAMDISKSIZE!= expr ${RAMDISKSPC} \* ${RAMDISKCYLS} 37 38 realall: ${IMAGE} 39 40 ${IMAGE}: ${CBIN} ${MTREECONF} ${LISTS} 41 rm -f ${IMAGE}.tmp 42 dd if=/dev/zero of=${IMAGE}.tmp count=${RAMDISKSIZE} 43 ${VNCONFIG} -v -c ${VND_CDEV} ${IMAGE}.tmp \ 44 512/${RAMDISKSPC}/1/${RAMDISKCYLS} 45 -${DISKLABEL} ${VND_CDEV} >tmplabel 46 ${DISKLABEL} -r -R ${VND_CDEV} tmplabel 47 ${NEWFS} -B le -m 0 -o space ${VND_RDEV} 48 ${MOUNT} ${VND_DEV} ${MOUNT_POINT} 49 ${MTREE} -def ${.CURDIR}/${MTREECONF} -p ${MOUNT_POINT}/ -U 50 TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ 51 TARGDIR=${MOUNT_POINT} ${SUDO} sh ${TOP}/runlist.sh \ 52 ${.CURDIR}/${LISTS} 53 @echo "" 54 @df -i ${MOUNT_POINT} 55 @echo "" 56 ${UMOUNT} ${MOUNT_POINT} 57 ${VNCONFIG} -u ${VND_CDEV} 58 mv -f ${IMAGE}.tmp ${IMAGE} 59 60 unconfig: 61 -${UMOUNT} -f ${MOUNT_POINT} 62 -${VNCONFIG} -u ${VND_DEV} 63 -/bin/rm -f ${IMAGE}.tmp 64 65 ${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} 66 ${CRUNCHGEN} -D ${TOP}/../../.. -L ${.CURDIR} ${.ALLSRC} 67 68 ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c 69 PATH=/usr/local/shel-evbsh3112-netbsdcoff/bin:${PATH} \ 70 make -f ${CBIN}.mk all 71 72 # This is listed in stonebin.conf but is built here. 73 #${CBIN}: libhack.o 74 75 # Use stubs to eliminate some large stuff from libc 76 HACKSRC=${TOP}/../../utils/libhack 77 .include "${HACKSRC}/Makefile.inc" 78 79 mount: 80 ${VNCONFIG} -v -c ${VND_CDEV} ${IMAGE} \ 81 512/${RAMDISKSPC}/1/${RAMDISKCYLS} 82 ${MOUNT} ${VND_DEV} ${MOUNT_POINT} 83 84 clean cleandir distclean: 85 /bin/rm -f ${AUXCLEAN} *.core ${IMAGE} ${IMAGE}.tmp ${CBIN} \ 86 ${CBIN}.mk ${CBIN}.cache *.o *.cro *.c tmplabel 87 88 .include <bsd.own.mk> 89 .include <bsd.obj.mk> 90 .include <bsd.subdir.mk> 91 .include <bsd.sys.mk> 92