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