xref: /netbsd-src/distrib/vax/ramdisk/Makefile (revision 8a8f936f250a330d54f8a24ed0e92aadf9743a7b)
1#	$NetBSD: Makefile,v 1.8 2001/10/10 05:13:56 enami Exp $
2
3TOP=		${.CURDIR}/..
4
5.include "${TOP}/Makefile.inc"
6IMAGE=		ramdisk.fs
7
8AUXTARGETS=	install.sh upgrade.sh start.sh
9AUXCLEAN=	${AUXTARGETS}
10
11CBIN=		ramdiskbin
12
13MOUNT_POINT?=	/mnt
14# DEV/RDEV file system device, CDEV/RDEV vnconfig device
15VND?=		vnd0
16VND_DEV=	/dev/${VND}c
17VND_RDEV=	/dev/r${VND}c
18VND_CDEV=	/dev/${VND}c
19VND_CRDEV=	/dev/r${VND}c
20IMAGE?=		xxx.fs
21MDEC=		${DESTDIR}/usr/mdec
22
23LISTS=		list
24CRUNCHCONF=	${CBIN}.conf
25MTREECONF=	mtree.conf
26
27CRUNCHGEN?=	crunchgen
28
29DISKTYPE=	ramdisk
30DISKSIZE=	2276
31
32install.sh: install.tmpl
33	sed "s/@@VERSION@@/${VER}/" < ${.ALLSRC} > ${.TARGET}
34
35upgrade.sh: upgrade.tmpl
36	sed "s/@@VERSION@@/${VER}/" < ${.ALLSRC} > ${.TARGET}
37
38start.sh: start.tmpl
39	sed "s/@@VERSION@@/${VER}/" < ${.ALLSRC} > ${.TARGET}
40
41all: ${AUXTARGETS} ${CBIN}
42	dd if=/dev/zero of=${IMAGE} count=${DISKSIZE}
43	vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}
44	disklabel -rw ${VND_CDEV} ${DISKTYPE}
45	newfs -B le -m 0 -o space -i 3228 -c 2 ${VND_RDEV} ${DISKTYPE}
46	mount ${VND_DEV} ${MOUNT_POINT}
47	mtree -def ${.CURDIR}/${MTREECONF} -p ${MOUNT_POINT}/ -u
48	TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
49	    KERNOBJDIR=${KERNOBJDIR} \
50	    TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${.CURDIR}/${LISTS}
51	@echo ""
52	@df -i ${MOUNT_POINT}
53	@echo ""
54	umount ${MOUNT_POINT}
55	vnconfig -u ${VND_CDEV}
56
57unconfig:
58	-umount -f ${MOUNT_POINT}
59	-vnconfig -u ${VND_DEV}
60	-/bin/rm -f ${IMAGE}
61
62${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
63	${CRUNCHGEN} -D ${TOP}/../.. -L ${DESTDIR}/usr/lib ${.ALLSRC}
64
65${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
66	${MAKE} -f ${CBIN}.mk all
67
68clean cleandir distclean:
69	/bin/rm -f ${AUXCLEAN} *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.cro *.c
70
71.include <bsd.obj.mk>
72.include <bsd.subdir.mk>
73
74