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