Makefile revision 1.17
1#	$NetBSD: Makefile,v 1.17 2000/06/10 03:02:14 tsutsui Exp $
2
3TOP=		${.CURDIR}/..
4
5# This include just sets REV=XX
6.include "${TOP}/Makefile.inc"
7
8IMAGE=	miniroot
9
10TREE=	${TOP}/common/${IMAGE}.tree
11
12LISTS=	${TOP}/common/${IMAGE}.list \
13	${TOP}/common/mini_sbin.list \
14	${TOP}/common/mini_bin.list \
15	${TOP}/common/mini_usr.list
16
17KERNEL3  = ${KERNOBJDIR}/INSTALL/netbsd
18KERNEL3X = ${KERNOBJDIR}/INSTALL3X/netbsd
19
20MOUNT_POINT?=	/mnt
21VND?=		vnd1
22VND_DEV?=	/dev/${VND}a
23VND_RDEV?=	/dev/r${VND}a
24VND_CRDEV?=	/dev/r${VND}c
25
26# These are all the parameters for the miniroot: (10MB)
27DISKTYPE=	miniroot
28SIZE=		10
29# bigendian, old format, minfree, opt, b/i, cpg
30NEWFSARGS= -B be -O -m 0 -o space -i 8192 -c 16
31
32CLEANFILES= ${IMAGE}.gz ${IMAGE} ${IMAGE}.tmp install.sub
33
34all: ${IMAGE}.gz
35
36${IMAGE}.gz: ${TREE} ${LISTS} install.sub
37	dd if=/dev/zero of=${IMAGE} bs=1024k count=${SIZE}
38	vnconfig -t ${DISKTYPE} -v -c ${VND} ${IMAGE}
39	disklabel -rw ${VND} ${DISKTYPE}
40	newfs ${NEWFSARGS} ${VND_RDEV}
41	mount ${VND_DEV} ${MOUNT_POINT}
42	mtree -def ${TREE} -p ${MOUNT_POINT}/ -u
43	cp ${KERNEL3}  ${MOUNT_POINT}/netbsd.sun3
44	cp ${KERNEL3X} ${MOUNT_POINT}/netbsd.sun3x
45	TOPDIR=${TOP} CURDIR=${.CURDIR} DESTDIR=${DESTDIR} \
46	  OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \
47	  sh ${TOP}/common/RunList.sh ${LISTS}
48	sync ; sleep 1 ; sync
49	cd ${MOUNT_POINT} ;\
50	  usr/mdec/installboot -v ufsboot usr/mdec/bootxx ${VND_CRDEV}
51	sync
52	@echo ""
53	@df -i ${MOUNT_POINT}
54	@echo ""
55	-umount ${MOUNT_POINT}
56	vnconfig -u ${VND}
57	gzip -9 -c ${IMAGE} > ${IMAGE}.tmp
58	-mv -f ${IMAGE}.tmp ${IMAGE}.gz
59
60# Do not delete this if I change my mind and kill make...
61.PRECIOUS: ${IMAGE}.gz
62
63install.sub : ${TOP}/../miniroot/install.sub
64	sed -e "/^VERSION=/s/=.*/=${REV}/" < $? > $@
65
66clean cleandir distclean:
67	-rm -f a.out core *.core *.o
68	-rm -f ${CLEANFILES}
69
70.if !defined(RELEASEDIR)
71release:
72	@echo setenv RELEASEDIR before doing that!
73	@false
74.else	# RELEASEDIR
75release: ${IMAGE}.gz
76	cp -p ${IMAGE}.gz \
77	 ${RELEASEDIR}/installation/miniroot/${IMAGE}.gz
78.endif	# RELEASEDIR
79
80# Standard rules needed by the above...
81.include <bsd.obj.mk>
82.include <bsd.subdir.mk>
83