Home | History | Annotate | Line # | Download | only in ramdiskel
Makefile revision 1.10
      1 #	$NetBSD: Makefile,v 1.10 2014/01/16 01:15:32 christos 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 DISKLABEL?=	disklabel
     23 MOUNT?=		mount
     24 NEWFS?=		newfs
     25 UMOUNT?=	umount
     26 VNCONFIG?=	vnconfig
     27 
     28 LISTS=		${.CURDIR}/../ramdiskcommon/list
     29 CRUNCHCONF=	../ramdiskcommon/${CBIN}.conf
     30 MTREECONF=	../ramdiskcommon/mtree.conf
     31 
     32 RAMDISKSPC=	128
     33 RAMDISKCYLS=	54
     34 RAMDISKSIZE!=	expr ${RAMDISKSPC} \* ${RAMDISKCYLS}
     35 
     36 realall: ${IMAGE}
     37 
     38 ${IMAGE}: ${CBIN} ${MTREECONF} ${LISTS}
     39 	rm -f ${IMAGE}.tmp
     40 	dd if=/dev/zero of=${IMAGE}.tmp count=${RAMDISKSIZE}
     41 	${VNCONFIG} -v -c ${VND_CDEV} ${IMAGE}.tmp \
     42 		512/${RAMDISKSPC}/1/${RAMDISKCYLS}
     43 	-${DISKLABEL} ${VND_CDEV} >tmplabel
     44 	${DISKLABEL} -r -R ${VND_CDEV} tmplabel
     45 	${NEWFS} -B le -m 0 -o space ${VND_RDEV} 
     46 	${MOUNT} ${VND_DEV} ${MOUNT_POINT}
     47 	${TOOL_MTREE} -def ${.CURDIR}/${MTREECONF} -p ${MOUNT_POINT}/ -U
     48 	TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
     49 	    KERNOBJDIR=${KERNOBJDIR} TARGDIR=${MOUNT_POINT} ${HOST_SH} \
     50 	    ${NETBSDSRCDIR}/distrib/common/runlist.sh ${LISTS}
     51 	@echo ""
     52 	@df -i ${MOUNT_POINT}
     53 	@echo ""
     54 	${UMOUNT} ${MOUNT_POINT}
     55 	${VNCONFIG} -u ${VND_CDEV}
     56 	mv -f ${IMAGE}.tmp ${IMAGE}
     57 
     58 unconfig:
     59 	-${UMOUNT} -f ${MOUNT_POINT}
     60 	-${VNCONFIG} -u ${VND_DEV}
     61 	-/bin/rm -f ${IMAGE}.tmp
     62 
     63 ${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
     64 	${TOOL_CRUNCHGEN} -D ${TOP}/../../.. -L ${.CURDIR} ${.ALLSRC}
     65 
     66 ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
     67 	${MAKE} -f ${CBIN}.mk all
     68 
     69 # Use stubs to eliminate some large stuff from libc
     70 HACKSRC=	${DISTRIBDIR}/utils/libhack
     71 HACKOBJS=	gethost.o
     72 .include	"${HACKSRC}/Makefile.inc"
     73 ${CBIN}:	libhack.o
     74 
     75 mount:
     76 	${VNCONFIG} -v -c ${VND_CDEV} ${IMAGE} \
     77 		512/${RAMDISKSPC}/1/${RAMDISKCYLS}
     78 	${MOUNT} ${VND_DEV} ${MOUNT_POINT}
     79 
     80 clean cleandir distclean:
     81 	/bin/rm -f ${AUXCLEAN} *.core ${IMAGE} ${IMAGE}.tmp ${CBIN} \
     82 	    ${CBIN}.mk ${CBIN}.cache *.o *.cro *.c tmplabel
     83 
     84 .include <bsd.own.mk>
     85 .include <bsd.obj.mk>
     86 .include <bsd.subdir.mk>
     87 .include <bsd.files.mk>
     88