1 # $NetBSD: Makefile,v 1.5 2002/03/25 07:43:41 lukem 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 #CRUNCHGEN?= sh-crunchgen 22 23 # for cross compile 24 #CRUNCHIDE?= sh-crunchide 25 26 SUDO?= sudo 27 DISKLABEL?= ${SUDO} disklabel 28 MOUNT?= ${SUDO} mount 29 MTREE?= ${SUDO} mtree 30 NEWFS?= ${SUDO} newfs 31 UMOUNT?= ${SUDO} umount 32 VNCONFIG?= ${SUDO} vnconfig 33 34 LISTS= ../ramdiskcommon/list 35 CRUNCHCONF= ../ramdiskcommon/${CBIN}.conf 36 MTREECONF= ../ramdiskcommon/mtree.conf 37 38 RAMDISKSPC= 128 39 RAMDISKCYLS= 54 40 RAMDISKSIZE!= expr ${RAMDISKSPC} \* ${RAMDISKCYLS} 41 42 realall: ${IMAGE} 43 44 ${IMAGE}: ${CBIN} ${MTREECONF} ${LISTS} 45 rm -f ${IMAGE}.tmp 46 dd if=/dev/zero of=${IMAGE}.tmp count=${RAMDISKSIZE} 47 ${VNCONFIG} -v -c ${VND_CDEV} ${IMAGE}.tmp \ 48 512/${RAMDISKSPC}/1/${RAMDISKCYLS} 49 -${DISKLABEL} ${VND_CDEV} >tmplabel 50 ${DISKLABEL} -r -R ${VND_CDEV} tmplabel 51 ${NEWFS} -B be -m 0 -o space ${VND_RDEV} 52 ${MOUNT} ${VND_DEV} ${MOUNT_POINT} 53 ${MTREE} -def ${.CURDIR}/${MTREECONF} -p ${MOUNT_POINT}/ -U 54 TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ 55 TARGDIR=${MOUNT_POINT} ${SUDO} sh ${TOP}/runlist.sh \ 56 ${.CURDIR}/${LISTS} 57 @echo "" 58 @df -i ${MOUNT_POINT} 59 @echo "" 60 ${UMOUNT} ${MOUNT_POINT} 61 ${VNCONFIG} -u ${VND_CDEV} 62 mv -f ${IMAGE}.tmp ${IMAGE} 63 64 unconfig: 65 -${UMOUNT} -f ${MOUNT_POINT} 66 -${VNCONFIG} -u ${VND_DEV} 67 -/bin/rm -f ${IMAGE}.tmp 68 69 ${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} 70 ${CRUNCHGEN} -D ${TOP}/../../.. -L ${.CURDIR} ${.ALLSRC} 71 72 ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c 73 ${MAKE} -f ${CBIN}.mk all 74 75 # This is listed in stonebin.conf but is built here. 76 #${CBIN}: libhack.o 77 78 # Use stubs to eliminate some large stuff from libc 79 HACKSRC=${TOP}/../../utils/libhack 80 .include "${HACKSRC}/Makefile.inc" 81 HACKOBJS+= gethost.o 82 83 mount: 84 ${VNCONFIG} -v -c ${VND_CDEV} ${IMAGE} \ 85 512/${RAMDISKSPC}/1/${RAMDISKCYLS} 86 ${MOUNT} ${VND_DEV} ${MOUNT_POINT} 87 88 clean cleandir distclean: 89 /bin/rm -f ${AUXCLEAN} *.core ${IMAGE} ${IMAGE}.tmp ${CBIN} \ 90 ${CBIN}.mk ${CBIN}.cache *.o *.cro *.c tmplabel 91 92 .include <bsd.own.mk> 93 .include <bsd.obj.mk> 94 .include <bsd.subdir.mk> 95 .include <bsd.sys.mk> 96