xref: /netbsd-src/distrib/sun2/miniroot/Makefile (revision 0dd5877adce57db949b16ae963e5a6831cccdfb6)
1#	$NetBSD: Makefile,v 1.3 2001/12/17 20:27:39 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
20RAW_PART!=	sysctl -n kern.rawpartition | tr '0-7' 'a-h'
21VND?=		vnd1
22VND_DEV?=	/dev/${VND}a
23VND_RDEV?=	/dev/r${VND}a
24VND_CRDEV?=	/dev/r${VND}${RAW_PART}
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
32INSTALLBOOT?=	usr/mdec/installboot
33
34CLEANFILES= ${IMAGE}.gz ${IMAGE} ${IMAGE}.tmp install.sub
35
36all: ${IMAGE}.gz
37
38${IMAGE}.gz: ${TREE} ${LISTS} install.sub
39	dd if=/dev/zero of=${IMAGE} bs=1024k count=${SIZE}
40	vnconfig -f ${.CURDIR}/disktab -t ${DISKTYPE} -v -c ${VND} ${IMAGE}
41	disklabel -f ${.CURDIR}/disktab -rw ${VND} ${DISKTYPE}
42	newfs ${NEWFSARGS} ${VND_RDEV}
43	mount ${VND_DEV} ${MOUNT_POINT}
44	${MTREE} -def ${TREE} -p ${MOUNT_POINT}/ -u
45	cp ${KERNEL}  ${MOUNT_POINT}/netbsd
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	  ${INSTALLBOOT} -v ufsboot usr/mdec/bootxx ${VND_CRDEV}
52	sync
53	@echo ""
54	@df -i ${MOUNT_POINT}
55	@echo ""
56	-umount ${MOUNT_POINT}
57	dd if=${VND_DEV} of=${IMAGE}-tmp bs=1024k count=${SIZE}
58	vnconfig -u ${VND}
59	mv ${IMAGE}-tmp ${IMAGE}
60	gzip -9 -c ${IMAGE} > ${IMAGE}.tmp
61	-mv -f ${IMAGE}.tmp ${IMAGE}.gz
62
63unconfig:
64	-umount -f ${MOUNT_POINT}
65	-vnconfig -u ${VND}
66	-/bin/rm -f ${IMAGE} ${IMAGE}.tmp
67
68# Do not delete this if I change my mind and kill make...
69.PRECIOUS: ${IMAGE}.gz
70
71install.sub : ${TOP}/../miniroot/install.sub
72	sed -e "/^VERSION=/s/=.*/=${REV}/" < $? > $@
73
74clean cleandir distclean:
75	-rm -f a.out core *.core *.o
76	-rm -f ${CLEANFILES}
77
78.if !defined(RELEASEDIR)
79release:
80	@echo setenv RELEASEDIR before doing that!
81	@false
82.else	# RELEASEDIR
83release: ${IMAGE}.gz
84	-mkdir -p ${RELEASEDIR}/installation/miniroot
85	cp -p ${IMAGE}.gz \
86	 ${RELEASEDIR}/installation/miniroot/${IMAGE}.gz
87.endif	# RELEASEDIR
88
89# Standard rules needed by the above...
90.include <bsd.obj.mk>
91.include <bsd.subdir.mk>
92