#	$Id: Makefile,v 1.15 1995/12/26 22:50:25 ghudson Exp ghudson $

TOOLS=		${.CURDIR}/../tools
SUBDIR=		rresolve
.include "${TOOLS}/Makefile.inc"

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

CRUNCHCONF=	${CBIN}.conf
LISTS=		${.CURDIR}/list
MTREE=		${.CURDIR}/mtree.conf

IMAGES=		nfsadp.fs nfsother.fs

all: ${IMAGES}

.SUFFIXES: .id .fs

.id.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 -i 5120 -c 80 ${VND_RDEV} floppy3
	mount ${VND_DEV} ${MOUNT_POINT}
	sed "s;#SYMBOLS#;`. ${.IMPSRC}; \
		nm -g ${KERNELDIR}/inst-$$kernel \
		| egrep '_msgbufp$$|_PTDpaddr$$' \
		| awk '{printf "%s %s ", $$1, $$3}'`;" \
		${.CURDIR}/dot.shinit > ${LOCALTMP}/dot.shinit
	mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u
	TOOLS=${TOOLS} CURDIR=${.CURDIR} LOCALTMP=${LOCALTMP} \
	    OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \
	    sh ${TOOLS}/runlist.sh ${LISTS}
	cp ${.IMPSRC} ${MOUNT_POINT}/id
	echo 'osrev="'"$$OSREV"'"' >> ${MOUNT_POINT}/id
	echo 'athenarev="'"$$ATHENAREV"'"' >> ${MOUNT_POINT}/id
	. ${.IMPSRC}; cp ${KERNELDIR}/inst-$$kernel \
		${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}
	/bin/rm -f ${LOCALTMP}/dot.shinit

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

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 ${IMAGES} nfs-instbin.conf
	/bin/rm -rf boot crunch

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

