Makefile revision 1.3
1#	$NetBSD: Makefile,v 1.3 2000/11/01 07:57:57 garbled Exp $
2
3TOP=		${.CURDIR}/..
4WARNS=1
5
6.include "${TOP}/Makefile.inc"
7IMAGE=		ramdisk.fs
8
9CBIN=		ramdiskbin
10
11MOUNT_POINT?=	/mnt
12# DEV/RDEV file system device, CDEV/RDEV vnconfig device
13VND?=		vnd0
14VND_DEV=	/dev/${VND}a
15VND_RDEV=	/dev/r${VND}a
16VND_CDEV=	/dev/${VND}d
17VND_CRDEV=	/dev/r${VND}d
18IMAGE?=		xxx.fs
19MDEC=		${DESTDIR}/usr/mdec
20
21SUDO=		sudo
22CRUNCHGEN?=	/usr/local/bin/sh-crunchgen
23DISKLABEL=	${SUDO} disklabel
24MOUNT=		${SUDO} mount
25MTREE=		${SUDO} mtree
26NEWFS=		${SUDO} newfs
27UMOUNT=		${SUDO} umount
28VNCONFIG=	${SUDO} vnconfig
29
30LISTS=		../ramdiskcommon/list
31CRUNCHCONF=	../ramdiskcommon/${CBIN}.conf
32MTREECONF=	../ramdiskcommon/mtree.conf
33
34RAMDISKSPC=	128
35RAMDISKCYLS=	54
36RAMDISKSIZE!=	expr ${RAMDISKSPC} \* ${RAMDISKCYLS}
37
38realall: ${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 le -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
60unconfig:
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/shel-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
76HACKSRC=${TOP}/../../utils/libhack
77.include "${HACKSRC}/Makefile.inc"
78
79mount:
80	${VNCONFIG} -v -c ${VND_CDEV} ${IMAGE} \
81		512/${RAMDISKSPC}/1/${RAMDISKCYLS}
82	${MOUNT} ${VND_DEV} ${MOUNT_POINT}
83
84clean 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