Makefile revision 1.7
1#	$NetBSD: Makefile,v 1.7 2002/04/06 18:25:29 tsutsui Exp $
2
3TOP=		${.CURDIR}/..
4
5.include "${TOP}/Makefile.inc"
6IMAGE=		ramdisk.fs
7
8AUXDEPENDS=	disktab.preinstall dot.profile termcap.src
9
10CBIN=		ramdiskbin
11
12MOUNT_POINT?=	/mnt
13# DEV/RDEV file system device, CDEV/RCDEV vnconfig device
14VND?=		vnd0
15VND_DEV=	/dev/${VND}a
16VND_RDEV=	/dev/r${VND}a
17VND_CDEV=	/dev/${VND}c
18VND_CRDEV=	/dev/r${VND}c
19MDEC=		${DESTDIR}/usr/mdec
20
21LISTS=		list
22CRUNCHCONF=	${CBIN}.conf
23MTREECONF=	mtree.conf
24
25CRUNCHGEN?=	crunchgen
26MTREE?=		mtree
27
28DISKSIZE=	2048k
29DISKTYPE=	floppyinstfs
30DBG=		-Os -mmultiple
31
32all: ${IMAGE}
33
34${IMAGE}: ${CBIN} ${AUXDEPENDS} ${MTREECONF} ${LISTS}
35	rm -f ${IMAGE}.tmp
36	dd if=/dev/zero of=${IMAGE}.tmp bs=${DISKSIZE} count=1
37	vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}.tmp
38	disklabel -f ${.CURDIR}/disktab -rw ${VND_CDEV} ${DISKTYPE}
39	newfs -B be -m 0 -o space -i 6144 -c 128 ${VND_RDEV}
40	mount ${VND_DEV} ${MOUNT_POINT}
41	${MTREE} -def ${.CURDIR}/${MTREECONF} -p ${MOUNT_POINT}/ -u
42	TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
43	    KERNOBJDIR=${KERNOBJDIR} \
44	    TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${.CURDIR}/${LISTS}
45	@echo ""
46	@df -i ${MOUNT_POINT}
47	@echo ""
48	umount ${MOUNT_POINT}
49	vnconfig -u ${VND_CDEV}
50	mv -f ${IMAGE}.tmp ${IMAGE}
51
52unconfig:
53	-umount -f ${MOUNT_POINT}
54	-vnconfig -u ${VND_CDEV}
55	-rm -f ${IMAGE}
56
57${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
58	${CRUNCHGEN} -D ${TOP}/../../.. -L ${DESTDIR}/usr/lib -d "${DBG}" \
59	    ${.ALLSRC}
60
61${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
62	${MAKE} -f ${CBIN}.mk all
63
64# Use stubs to eliminate some large stuff from libc
65HACKSRC=	${DISTRIBDIR}/utils/libhack
66.include	"${HACKSRC}/Makefile.inc"
67${CBIN}:	libhack.o
68
69release:
70
71clean cleandir distclean:
72	rm -f ${IMAGE} ${IMAGE}.tmp ${CBIN} ${CBIN}.mk ${CBIN}.cache
73	rm -f *.core *.o *.cro *.c
74
75.include <bsd.sys.mk>
76.include <bsd.obj.mk>
77