Home | History | Annotate | Line # | Download | only in ramdiskeb
Makefile revision 1.7
      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