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