#	$Id: Makefile,v 1.16 1996/12/04 06:36:51 ghudson Exp $

SUBDIR=		rresolve

CBIN=		nfs-instbin
MOUNT_POINT?=	/mnt
LOCALTMP=	/var/tmp
VND?=		vnd0
VND_DEV=	/dev/${VND}a
VND_RDEV=	/dev/r${VND}a
IMAGES=		adp.fs other.fs
VARS=		${IMAGES..fs=.vars}
IDS=		${IMAGES:.fs=.id}

CRUNCHCONF=	${CBIN}.conf

all: ${IMAGES}

.SUFFIXES: .id .vars .fs

${IDS}:
	echo 'kernel="'"$$KERNELDIR"'/athena-${.PREFIX}"' >> ${.TARGET}

.id.vars:
	rm -f ${.TARGET}
	echo 'nfs_server="'"$$SERVER"'"' >> ${.TARGET}
	echo 'nfs_filesystem="'"$$SERVER_FS"'"' >> ${.TARGET}
	echo 'ftpsite="'"$$FTPSITE"'"' >> ${.TARGET}
	echo 'ftpdir="'"$$FTPDIR"'"' >> ${.TARGET}
	echo 'systemdir="'"$$SYSTEMDIR"'"' >> ${.TARGET}
	echo 'osrev="'"$$OSREV"'"' >> ${.TARGET}
	echo 'athenarev="'"$$ATHENAREV"'"' >> ${.TARGET}
	cat ${.IMPSRC} >> ${.TARGET}

.vars.fs:
	rm -f ${LOCALTMP}/${.TARGET} ${LOCALTMP}/dot.shinit
	dd if=/dev/zero of=${LOCALTMP}/${.TARGET} bs=10k count=144
	vnconfig -v -c ${VND_DEV} ${LOCALTMP}/${.TARGET}
	disklabel -w -B -b boot/biosboot -s boot/bootbios ${VND} floppy3
	newfs -O -m 0 -o space -c 80 ${VND_RDEV} floppy3
	mount ${VND_DEV} ${MOUNT_POINT}
	cd ${MOUNT_POINT}; mkdir -p -m 755 afs bin dev etc hd nfs sbin tmp
	cd ${MOUNT_POINT}; mkdir -p -m 755 usr/bin usr/sbin usr/libexec
	cd ${MOUNT_POINT}; mkdir -p -m 755 usr/vice
	ln -s tmp/srvd ${MOUNT_POINT}/srvd
	ln -s tmp/os ${MOUNT_POINT}/os
	ln -s /os/usr/share ${MOUNT_POINT}/usr/share
	ln -s /os/usr/lib ${MOUNT_POINT}/usr/lib
	ln -s /os/sbin/mount_ffs ${MOUNT_POINT}/sbin/mount_ffs
	ln -s /os/usr/mdec ${MOUNT_POINT}/usr/mdec
	ln -s /srvd/etc/athena ${MOUNT_POINT}/etc/athena
	ln -s /tmp/label ${MOUNT_POINT}/etc/disktab
	ln -s /nfs/ld.so ${MOUNT_POINT}/usr/libexec/ld.so
	ln -s /nfs/afsconf ${MOUNT_POINT}/usr/vice/etc
	install -c -m 444 ${.IMPSRC} ${MOUNT_POINT}/vars
	install -c -m 444 ${.CURDIR}/dot.shinit ${MOUNT_POINT}/.shinit
	install -c -m 444 ${.CURDIR}/dot.mitnetconf ${MOUNT_POINT}/.mitnetconf
	install -c -m 555 ${.CURDIR}/connect.sh ${MOUNT_POINT}/connect
	install -c -m 444 ${OS}/etc/group ${MOUNT_POINT}/etc/
	install -c -m 444 ${OS}/etc/master.passwd ${MOUNT_POINT}/etc/
	install -c -m 444 ${OS}/etc/passwd ${MOUNT_POINT}/etc/
	install -c -m 444 ${OS}/etc/protocols ${MOUNT_POINT}/etc/
	install -c -m 444 ${OS}/etc/pwd.db ${MOUNT_POINT}/etc/
	install -c -m 444 ${.CURDIR}/rc ${MOUNT_POINT}/etc/
	install -c -m 444 ${SRVD}/etc/services ${MOUNT_POINT}/etc/
	install -c -m 444 ${OS}/etc/spwd.db ${MOUNT_POINT}/etc/
	install -c -m 444 ${.CURDIR}/resolv.conf ${MOUNT_POINT}/etc/
	install -c -m 555 nfs-instbin ${MOUNT_POINT}/rresolve
	ln ${MOUNT_POINT}/rresolve ${MOUNT_POINT}/bin/hostname
	ln ${MOUNT_POINT}/rresolve ${MOUNT_POINT}/bin/sh
	ln ${MOUNT_POINT}/rresolve ${MOUNT_POINT}/bin/test
	ln ${MOUNT_POINT}/rresolve ${MOUNT_POINT}/bin/[
	ln ${MOUNT_POINT}/rresolve ${MOUNT_POINT}/sbin/halt
	ln ${MOUNT_POINT}/rresolve ${MOUNT_POINT}/sbin/ifconfig
	ln ${MOUNT_POINT}/rresolve ${MOUNT_POINT}/sbin/init
	ln ${MOUNT_POINT}/rresolve ${MOUNT_POINT}/sbin/mount_nfs
	ln ${MOUNT_POINT}/rresolve ${MOUNT_POINT}/sbin/ping
	ln ${MOUNT_POINT}/rresolve ${MOUNT_POINT}/sbin/reboot
	ln ${MOUNT_POINT}/rresolve ${MOUNT_POINT}/sbin/route
	ln ${MOUNT_POINT}/rresolve ${MOUNT_POINT}/usr/bin/sed
	ln ${MOUNT_POINT}/rresolve ${MOUNT_POINT}/usr/sbin/update
	cd ${MOUNT_POINT}/dev; cp /dev/MAKEDEV* .; sh MAKEDEV all; rm MAKEDEV*
	cp ${KERNELDIR}/inst-${.PREFIX} ${MOUNT_POINT}/netbsd
	@echo ""
	@df -i ${MOUNT_POINT}
	@echo ""
	umount ${MOUNT_POINT}
	vnconfig -u ${VND_DEV}
	sync
	cat /bin/* /sbin/* /usr/bin/* /usr/sbin/* /usr/share/dict/* > /dev/null
	cat /usr/share/misc/* ${KERNELDIR}/* > /dev/null
	mv ${LOCALTMP}/${.TARGET} ${.TARGET}

unconfig:
	umount -f ${MOUNT_POINT}
	vnconfig -u ${VND_DEV}

crunch/crunchgen:
	mkdir -p ${.OBJDIR}/crunch
	(cd ${.CURDIR}/../crunch/crunchgen; \
		${MAKE}; cp obj/crunchgen ${.OBJDIR}/crunch/crunchgen)

crunch/crunchide:
	mkdir -p ${.OBJDIR}/crunch
	(cd ${.CURDIR}/../crunch/crunchide; \
		${MAKE}; cp obj/crunchide ${.OBJDIR}/crunch/crunchide)

${CRUNCHCONF}: ${CRUNCHCONF}.in
	sed -e 's|SRCDIR|${NETBSD_SRC}|g' < ${.ALLSRC} > ${.TARGET}

${CBIN}.mk ${CBIN}.cache ${CBIN}.c: crunch/crunchgen crunch/crunchide
${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
	crunch/crunchgen ${CRUNCHCONF}

${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
	PATH=${PATH}:crunch make -f ${CBIN}.mk all

boot/biosboot boot/bootbios:
	mkdir -p ${.OBJDIR}/boot
	(cd ${NETBSD_SRC}/sys/arch/i386/boot;			\
	MAKEOBJDIR=${.OBJDIR}/boot make COPTS=-DONEDISK bootbios biosboot)

install:
	install -c ${IMAGES} ${FLOPPYDIR}

clean cleandir:
	/bin/rm -f core ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.lo *.c
	/bin/rm -f nfs-instbin.conf ${IMAGES} ${VARS} ${IDS}
	/bin/rm -rf boot crunch

${IMAGES}: ${CBIN} boot/biosboot boot/bootbios rresolve dot.mitnetconf
${IMAGES}: connect.sh

.include <bsd.obj.mk>
.include <bsd.subdir.mk>
