Makefile revision 1.8
1#	$NetBSD: Makefile,v 1.8 1996/07/04 06:53:12 leo Exp $
2
3# Revision is 1.2A
4REV=		12A
5
6CBIN=		instbin
7ARCHDIR=	${.CURDIR}/../${MACHINE}/miniroot
8
9.if exists(${ARCHDIR}/Makefile.inc)
10.include "${ARCHDIR}/Makefile.inc"
11.endif
12
13MOUNT_POINT?=	/mnt
14VND?=		vnd0a
15VND_DEV=	/dev/${VND}
16VND_RDEV=	/dev/r${VND}
17IMAGE?=		miniroot-${REV}.fs
18IMAGESIZE?=	10240 # 5Mb in 512 byte blocks
19NEWFSOPTS?=
20
21LISTS=		${.CURDIR}/list ${ARCHDIR}/list
22CRUNCHCONF=	${CBIN}.conf
23MTREE=		${.CURDIR}/mtree.conf
24
25.ifndef DESTDIR
26all:
27	@echo setenv DESTDIR before makeing a miniroot!
28	@false
29.else
30
31all: ${CBIN}
32	dd if=/dev/zero of=${IMAGE} count=${IMAGESIZE}
33	vnconfig -v -c ${VND_DEV} ${IMAGE}
34	newfs -m 0 -o space ${NEWFSOPTS} ${VND_RDEV} miniroot
35	mount ${VND_DEV} ${MOUNT_POINT}
36	mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u
37	REV=${REV} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} ARCHDIR=${ARCHDIR} \
38	    TARGDIR=${MOUNT_POINT} sh ${.CURDIR}/runlist.sh ${LISTS}
39	@echo ""
40	@df -i ${MOUNT_POINT}
41	@echo ""
42	umount ${MOUNT_POINT}
43	vnconfig -u ${VND_DEV}
44	cat /*bin/* > /dev/null
45
46unconfig:
47	-umount -f ${MOUNT_POINT}
48	-vnconfig -u ${VND_DEV}
49	-/bin/rm -f ${IMAGE}
50
51${CBIN}.conf: ${LISTS}
52	awk -f ${.CURDIR}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf
53
54${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
55	crunchgen -D ${.CURDIR}/../.. -L ${DESTDIR}/usr/lib ${CRUNCHCONF}
56
57${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
58	make -f ${CBIN}.mk all
59
60clean cleandir:
61	/bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \
62	${CBIN}.conf *.o *.lo *.c
63
64.endif	# DESTDIR check
65.include <bsd.obj.mk>
66.include <bsd.subdir.mk>
67