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

SUBDIR=		rresolve

CBIN=		afs-instbin
MOUNT_POINT?=	/mnt
LOCALTMP=	/var/tmp
VND?=		vnd0
VND_DEV=	/dev/${VND}a
VND_RDEV=	/dev/r${VND}a

all: inst.fs

vars:
	rm -f ${.TARGET}
	echo 'ftpsite="'"$$FTPSITE"'"' >> ${.TARGET}
	echo 'ftpdir="'"$$FTPDIR"'"' >> ${.TARGET}
	echo 'systemdir="'"$$SYSTEMDIR"'"' >> ${.TARGET}
	echo 'osrev="'"$$OSREV"'"' >> ${.TARGET}
	echo 'athenarev="'"$$ATHENAREV"'"' >> ${.TARGET}
	echo 'kernel="'"$$KERNELDIR"'/athena"' >> ${.TARGET}

ramdisk.fs:
	rm -f ${LOCALTMP}/${.TARGET}
	dd if=/dev/zero of=${LOCALTMP}/${.TARGET} count=2880
	vnconfig -t floppy3 -v -c ${VND_DEV} ${LOCALTMP}/${.TARGET}
	disklabel -rw ${VND_CDEV} floppy3
	newfs -O -m 0 -o space -i 204800 -c 80 ${VND_RDEV} floppy3
	mount ${VND_DEV} ${MOUNT_POINT}
	cd ${MOUNT_POINT}; mkdir -p -m 755 afs bin dev etc hd 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 vars ${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 afs-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/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*
	@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}

netbsd.ram.gz: ${KERNELDIR}/inst ramdisk.fs
	cp ${KERNELDIR}/inst netbsd.tmp
	mdsetimage -v netbsd.tmp ${RAMDISK}
	gzip netbsd.tmp
	mv netbsd.tmp.gz ${.TARGET}

inst.fs: netbsd.ram.gz
	rm -f ${LOCALTMP}/${.TARGET}
	dd if=/dev/zero of=${LOCALTMP}/${.TARGET} count=2880
	vnconfig -t floppy3 -v -c ${VND_DEV} ${LOCALTMP}/${.TARGET}
	disklabel -rw ${VND_CDEV} floppy3
	newfs -O -m 0 -o space -i 204800 -c 80 ${VND_RDEV} floppy3
	mount ${VND_DEV} ${MOUNT_POINT}
	install -c -m 444 netbsd.ram.gz ${MOUNT_POINT}
	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}

${CBIN}.conf: ${CBIN}.conf.in
	sed -e 's|SRCDIR|${NETBSD_SRC}|g' \
	    -e 's|CURDIR|${.CURDIR}|g' < ${.ALLSRC} > ${.TARGET}

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

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

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

clean cleandir:
	/bin/rm -f core ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.lo *.c
	/bin/rm -f afs-instbin.conf ${IMAGES} ${VARS} ${IDS}
	/bin/rf -f netbsd.ram.gz netbsd.tmp netbsd.tmp.gz

ramdisk.fs: ${CBIN} rresolve dot.mitnetconf vars connect.sh

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