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