bio fmt mk regexp utf:V:
	case $target in
	mk) t=mk ;;
	regexp) t=libregexp ;;
	*) t=lib$target ;;
	esac
	# 
	mkdir -p $t
	rm -f $t/* || true
	cd $t
	mk -f ../mkfile.$target
	# 
	case $target in
	bio) d=$PLAN9/src/$t;;
	regexp) d=$PLAN9/src/$t;;
	fmt) d=$PLAN9/src/lib9/$target ;;
	utf) d=$PLAN9/src/lib9/$target ;;
	mk) d=$PLAN9/src/cmd/mk ;;
	esac
	# 
	for i in `ls -p $d/*.c`
	do
		if [ ! -f $i ]
		then
			echo missing $i
		fi
	done
	make
	for i in `ls *.c`
	do
		if [ ! -f `echo $i | sed 's/.c$/.o/'` ]
		then
			echo not building $i
		fi
	done
	cd ..
	rm $t/* || true
	cd $t
	mk -f ../mkfile.$target

%.install:V:
	mk $stem
	case $stem in
	mk) t=mk ;;
	regexp) t=libregexp ;;
	*) t=lib$stem ;;
	esac
	(cd $t; make install)

lib%.tgz:
	mk $stem
	tar cf - lib$stem |gzip >lib$stem.tgz

libregexp9.tgz:
	mk regexp
	tar cf - libregexp | gzip >libregexp9.tgz

mk.tgz:
	mk mk
	tar cf - mk | gzip >mk.tgz

mk-all.tgz:
	tar cf - Makefile libutf libfmt libbio libregexp mk | gzip >mk-all.tgz

