Makefile revision 1.3
1#	$NetBSD: Makefile,v 1.3 2001/03/05 05:07:45 wdk Exp $
2
3.include "../../../Makefile.inc"
4.include <bsd.kernobj.mk>
5.include <bsd.own.mk>
6
7DISKBINDIR=	${RELEASEDIR}/installation/diskimage
8KERNBINDIR=	${RELEASEDIR}/binary/kernel
9
10IMAGE=		diskimage
11IMAGESIZE=	4096 # 512 byte blocks, update disktab.diskimage if changed
12DISKTAB=	${.CURDIR}/disktab.diskimage
13DISKTYPE=	miniroot
14NEWFSOPTS?=	-c 32 -B be -i 32768	# don't need many inodes!
15
16MDEC?=		${DESTDIR}/usr/mdec
17BOOT_PRIMARY=	${MDEC}/bootxx_ffs
18BOOT_SECONDARY=	${MDEC}/boot
19INSTALLBOOT?=	${MDEC}/installboot	
20
21KERN=		${KERNOBJDIR}/RAMDISK/netbsd
22RAMDISK!=	cd ${.CURDIR}/../ramdisk; ${MAKE} echoimage
23CLEANFILES=	netbsd netbsd.gz netbsd.ecoff netbsd.ecoff.gz ${IMAGE}.gz
24
25# DEV/RDEV file system device, CDEV/RDEV vnconfig device
26VND?=		vnd0
27VND_DEV=	/dev/${VND}c
28VND_RDEV=	/dev/r${VND}c
29#VND_GEOM=	512/18/2/$$((${IMAGESIZE} / (18 * 2)))
30
31MOUNT_POINT?=	/mnt
32
33realall:	${IMAGE}.gz
34
35netbsd.gz: ${KERN} ${RAMDISK}
36	cp ${KERN} netbsd
37	mdsetimage -v netbsd ${RAMDISK}
38.ifdef ECOFF_KERNEL
39	elf2ecoff netbsd netbsd.ecoff
40	rm -f netbsd.ecoff.gz
41	gzip -9 netbsd.ecoff
42.endif # ECOFF_KERNEL
43	rm -f netbsd.gz
44	gzip -9 netbsd
45
46${IMAGE}.gz: netbsd.gz ${BOOT_PRIMARY} ${BOOT_SECONDARY}
47	dd if=/dev/zero of=${IMAGE} count=${IMAGESIZE}
48	vnconfig ${DISKTYPEARG} -v -c ${VND} ${IMAGE} ${VND_GEOM}
49	disklabel -rw -f ${DISKTAB} ${VND} ${DISKTYPE}
50	newfs -B be -m 0 -o space ${NEWFSOPTS} ${VND_RDEV}
51	${INSTALLBOOT} ${VND_RDEV} ${BOOT_PRIMARY}
52	mount ${VND_DEV} ${MOUNT_POINT}
53	cp -p ${BOOT_SECONDARY} ${MOUNT_POINT}
54	cp -p netbsd.gz ${MOUNT_POINT}/netbsd
55	@echo ""
56	@df -i ${MOUNT_POINT}
57	@echo ""
58	umount ${MOUNT_POINT}
59	vnconfig -u ${VND}
60	rm -f ${IMAGE}.gz
61	gzip -9 ${IMAGE}
62
63unconfig:
64	-umount -f ${MOUNT_POINT}
65	-vnconfig -u ${VND}
66	-/bin/rm -f ${IMAGE} ${IMAGE}.gz
67
68.if !defined(RELEASEDIR)
69release: .USE
70	@echo setenv RELEASEDIR first!
71	@false
72.else
73release: ${IMAGE}.gz
74	-mkdir -p ${DISKBINDIR} ${KERNBINDIR}
75	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o root -g wheel \
76		-m ${NONBINMODE} ${IMAGE}.gz ${DISKBINDIR}
77	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o root -g wheel \
78		-m ${BINMODE} netbsd.gz ${KERNBINDIR}/install.gz
79.if defined(ECOFF_KERNEL)
80	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o root -g wheel \
81		-m ${BINMODE} netbsd.ecoff.gz \
82		${KERNBINDIR}/install.ecoff.gz
83.endif # ECOFF_KERNEL
84.endif # RELEASEDIR
85
86realinstall: release
87
88clean cleandir distclean:
89	rm -f ${CLEANFILES}
90
91.include <bsd.obj.mk>
92.include <bsd.depall.mk>
93