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