Home | History | Annotate | Line # | Download | only in ramdiskeb
Makefile revision 1.3
      1 #	$NetBSD: Makefile,v 1.3 2000/11/01 07:57:57 garbled 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 be -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/sh-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