Home | History | Annotate | Line # | Download | only in ramdiskeb
Makefile revision 1.6
      1 #	$NetBSD: Makefile,v 1.6 2002/03/28 04:33:21 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 # Use stubs to eliminate some large stuff from libc
     76 HACKSRC=	${DISTRIBDIR}/utils/libhack
     77 HACKOBJS=	gethost.o
     78 .include	"${HACKSRC}/Makefile.inc"
     79 ${CBIN}:	libhack.o
     80 
     81 mount:
     82 	${VNCONFIG} -v -c ${VND_CDEV} ${IMAGE} \
     83 		512/${RAMDISKSPC}/1/${RAMDISKCYLS}
     84 	${MOUNT} ${VND_DEV} ${MOUNT_POINT}
     85 
     86 clean cleandir distclean:
     87 	/bin/rm -f ${AUXCLEAN} *.core ${IMAGE} ${IMAGE}.tmp ${CBIN} \
     88 	    ${CBIN}.mk ${CBIN}.cache *.o *.cro *.c tmplabel
     89 
     90 .include <bsd.own.mk>
     91 .include <bsd.obj.mk>
     92 .include <bsd.subdir.mk>
     93 .include <bsd.sys.mk>
     94