--- cygnus/src/Makefile.in	Tue Jul  1 14:04:36 1997
+++ kerbnet-1.2/Makefile.in	Tue May 27 21:54:50 1997
@@ -1,31 +1,44 @@
 CFLAGS = $(CCOPTS) $(DEFS)
 
+##DOSBUILDTOP = .
+
 SRCS =  
 HDRS = 
 
+EXTRA_RECURSION_OPTS= "RANLIB=@RANLIB@"
+
 DISTFILES = $(SRCS) $(HDRS) COPYING COPYING.LIB ChangeLog Makefile.in
 
 all-unix::
 
 all-mac::
 
-LIBCMD = lib
 all-windows:: makefile-windows
-	@echo Making in include
+	@echo Making all in util\windows
+	cd util\windows
+	$(MAKE) -$(MAKEFLAGS)
+	cd ..\..
+	@echo Making all in include
 	cd include
-	-$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
-	@echo Making in util\et
+	$(MAKE) -$(MAKEFLAGS)
+	@echo Making all in util\et
 	cd ..\util\et
-	-$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
-	@echo Making in util\profile
+	$(MAKE) -$(MAKEFLAGS)
+	@echo Making all in util\profile
 	cd ..\profile
-	-$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
-	@echo Making in lib
+	$(MAKE) -$(MAKEFLAGS)
+	@echo Making all in util\misc
+	cd ..\misc
+	$(MAKE) -$(MAKEFLAGS)
+	@echo Making all in lib
 	cd ..\..\lib
-	-$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
-	@echo Making in windows
+	$(MAKE) -$(MAKEFLAGS)
+	@echo Making all in clients
+	cd ..\clients
+	$(MAKE) -$(MAKEFLAGS)
+	@echo Making all in windows
 	cd ..\windows
-	-$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
+	$(MAKE) -$(MAKEFLAGS)
 	cd ..
 
 world::
@@ -37,7 +50,8 @@
 		$(ADMIN_BINDIR) $(SERVER_BINDIR) $(CLIENT_BINDIR) \
 		$(ADMIN_MANDIR) $(SERVER_MANDIR) $(CLIENT_MANDIR) \
 		$(FILE_MANDIR) $(KRB5_LIBDIR) $(KRB5_INCDIR) \
-		$(KRB5_INCSUBDIRS)
+		$(KRB5_INCSUBDIRS) \
+		$(KRB5_TCL_LIBDIR) $(KRB5_TCL_LIBDIR)/tkadmin
 
 install-unix:: install-mkdirs
 
@@ -46,6 +60,28 @@
 		if test -d $(DESTDIR)$$i; then :; else (set -x; mkdir -p $(DESTDIR)$$i); fi ; \
 	done
 
+install-windows:: makefile-windows
+	@echo Making install in util\windows
+	cd util\windows
+	$(MAKE) -$(MAKEFLAGS) install
+	cd ..\..
+	@echo Making install in include
+	cd include
+	$(MAKE) -$(MAKEFLAGS) install
+	@echo Making install in util\et
+	cd ..\util\et
+	$(MAKE) -$(MAKEFLAGS) install
+	@echo Making install in lib
+	cd ..\..\lib
+	$(MAKE) -$(MAKEFLAGS) install
+	@echo Making install in clients
+	cd ..\clients
+	$(MAKE) -$(MAKEFLAGS) install
+	@echo Making install in windows
+	cd ..\windows
+	$(MAKE) -$(MAKEFLAGS) install
+	cd ..
+
 # install::
 #	$(MAKE) $(MFLAGS) install.man
 
@@ -55,7 +91,6 @@
 TAGS: $(SRCS)
 	etags $(SRCS)
 
-clean-:: clean-windows
 clean-mac:: clean-unix
 clean-unix::
 	$(RM) *.o core
@@ -82,15 +117,35 @@
 
 GZIPPROG= gzip -9v
 PKGDIR=`pwd`/pkgdir
+PKG=
 pkgdir:
 	if test ! -d $(PKGDIR); then mkdir $(PKGDIR); else true; fi
-tgz-bin: pkgdir
+pkgdir-install: pkgdir
 	rm -rf $(PKGDIR)/install cns5-bin.tgz
 	mkdir $(PKGDIR)/install
-	$(MAKE) install DESTDIR=$(PKGDIR)/install
-	(cd $(PKGDIR)/install && tar cf - usr/cygnus) | $(GZIPPROG) > cns5-bin.tgz
+	$(MAKE) install$(PKG) prefix=$(PKGDIR)/install$(prefix) \
+		exec_prefix=$(PKGDIR)/install$(prefix)
+	rm -f $(PKGDIR)/install/$(prefix)/bin/tclsh*
+	rm -f $(PKGDIR)/install/$(prefix)/bin/wish*
+	rm -fr $(PKGDIR)/install/$(prefix)/man/man3
+	rm -f $(PKGDIR)/install/$(prefix)/man/man1/tclsh.1
+	rm -f $(PKGDIR)/install/$(prefix)/man/man1/wish.1
+	$(PKGDIR)/install/$(prefix)/bin/install-sid \
+		--install-dir=$(PKGDIR)/install/$(prefix) unknown
+
+tgz-bin: pkgdir-install
+	(cd $(PKGDIR)/install && tar cf - *) | $(GZIPPROG) > $(PKGDIR)/kerbnet$(PKG)-bin.tgz
 	rm -rf $(PKGDIR)/install
 
+pkg-client:
+	$(MAKE) tgz-bin PKG=-client
+pkg-server:
+	$(MAKE) tgz-bin PKG=-server
+pkg-all:
+	$(MAKE) tgz-bin PKG=-all
+pkg-kdc: pkg-all
+
+
 # Macintosh build process...
 
 # Build all things for the Mac build, which need to be built on
@@ -99,7 +154,6 @@
 	(cd lib/krb5/error_tables; make -f Makefile.in unixmac)
 	(cd lib/gssapi/generic; make -f Makefile.in unixmac)
 
-
 # Microsoft Windows build process...
 #
 
@@ -109,80 +163,228 @@
 	-$(MAKE) -$(MAKEFLAGS)
 	cd ..
 
-makefile-windows:: wconfig.exe config\pre.in config\post.in \
-		include\makefile.in include\krb5\makefile.in \
-		lib\makefile.in lib\crypto\makefile.in \
-		lib\crypto\crc32\makefile.in lib\crypto\des\makefile.in \
-		lib\crypto\md4\makefile.in lib\crypto\md5\makefile.in \
-		lib\crypto\os\makefile.in lib\des425\makefile.in \
-		lib\gssapi\makefile.in lib\gssapi\generic\makefile.in \
-		lib\gssapi\krb5\makefile.in lib\gssapi\mechglue\makefile.in \
-		lib\krb5\makefile.in \
-		lib\krb5\asn.1\makefile.in lib\krb5\ccache\makefile.in \
-		lib\krb5\ccache\file\makefile.in \
-		lib\krb5\ccache\stdio\makefile.in \
-		lib\krb5\error_ta\makefile.in \
-		lib\krb5\free\makefile.in lib\krb5\keytab\makefile.in \
-		lib\krb5\keytab\file\makefile.in lib\krb5\krb\makefile.in \
-		lib\krb5\os\makefile.in lib\krb5\posix\makefile.in \
-		lib\krb5\rcache\makefile.in \
-		util\et\makefile.in util\profile\makefile.in
-	type makefile.in >makefile
-	.\wconfig config <include\makefile.in >include\makefile
-	.\wconfig config <include\krb5\makefile.in >include\krb5\makefile
-	.\wconfig config <lib\makefile.in >lib\makefile
-	.\wconfig config <lib\crypto\makefile.in >lib\crypto\makefile
-	.\wconfig config <lib\crypto\crc32\makefile.in >lib\crypto\crc32\makefile
-	.\wconfig config <lib\crypto\des\makefile.in >lib\crypto\des\makefile
-	.\wconfig config <lib\crypto\md4\makefile.in >lib\crypto\md4\makefile
-	.\wconfig config <lib\crypto\md5\makefile.in >lib\crypto\md5\makefile
-	.\wconfig config <lib\crypto\os\makefile.in >lib\crypto\os\makefile
-	.\wconfig config <lib\des425\makefile.in >lib\des425\makefile
-	.\wconfig config <lib\gssapi\makefile.in >lib\gssapi\makefile
-	.\wconfig config <lib\gssapi\generic\makefile.in >lib\gssapi\generic\makefile
-	.\wconfig config <lib\gssapi\mechglue\makefile.in >lib\gssapi\mechglue\makefile
-	.\wconfig config <lib\gssapi\krb5\makefile.in >lib\gssapi\krb5\makefile
-	.\wconfig config <lib\kadm\makefile.in >lib\kadm\makefile
-	.\wconfig config <lib\krb5\makefile.in >lib\krb5\makefile
-	.\wconfig config <lib\krb5\asn.1\makefile.in >lib\krb5\asn.1\makefile
-	.\wconfig config <lib\krb5\ccache\makefile.in >lib\krb5\ccache\makefile
-	.\wconfig config <lib\krb5\ccache\file\makefile.in >lib\krb5\ccache\file\makefile
-	.\wconfig config <lib\krb5\ccache\stdio\makefile.in >lib\krb5\ccache\stdio\makefile
-	.\wconfig config <lib\krb5\error_ta\makefile.in >lib\krb5\error_ta\makefile
-	.\wconfig config <lib\krb5\free\makefile.in >lib\krb5\free\makefile
-	.\wconfig config <lib\krb5\keytab\makefile.in >lib\krb5\keytab\makefile
-	.\wconfig config <lib\krb5\keytab\file\makefile.in >lib\krb5\keytab\file\makefile
-	.\wconfig config <lib\krb5\krb\makefile.in >lib\krb5\krb\makefile
-	.\wconfig config <lib\krb5\os\makefile.in >lib\krb5\os\makefile
-	.\wconfig config <lib\krb5\posix\makefile.in >lib\krb5\posix\makefile
-	.\wconfig config <lib\krb5\rcache\makefile.in >lib\krb5\rcache\makefile
-	.\wconfig config <util\et\makefile.in >util\et\makefile
-	.\wconfig config <util\profile\makefile.in >util\profile\makefile
-	config\rm.bat wconfig.obj msvc.pdb
+WCONFIG   =	wconfig.exe
 
 wconfig.exe: wconfig.c
 	SET CL=/nologo
-	$(CC) /AL wconfig.c
+	$(CC) wconfig.c
+
+WIN_CONFIG =	$(WCONFIG) config\windows.in config\win-post.in
+
+WIN_MAKEFILES = \
+	clients\makefile \
+	clients\kdestroy\makefile \
+	clients\kinit\makefile \
+	clients\klist\makefile \
+	include\makefile \
+	include\krb5\makefile \
+	lib\makefile \
+	lib\crypto\makefile \
+	lib\crypto\crc32\makefile \
+	lib\crypto\des\makefile \
+	lib\crypto\md4\makefile \
+	lib\crypto\md5\makefile \
+	lib\crypto\sha\makefile \
+	lib\crypto\os\makefile \
+	lib\des425\makefile \
+	lib\gssapi\makefile \
+	lib\gssapi\generic\makefile \
+	lib\gssapi\krb5\makefile \
+	lib\kadm\makefile \
+	lib\krb5\makefile \
+	lib\krb5\asn.1\makefile \
+	lib\krb5\ccache\makefile \
+	lib\krb5\ccache\file\makefile \
+	lib\krb5\ccache\memory\makefile \
+	lib\krb5\ccache\stdio\makefile \
+	lib\krb5\error_tables\makefile \
+	lib\krb5\free\makefile \
+	lib\krb5\keytab\makefile \
+	lib\krb5\keytab\file\makefile \
+	lib\krb5\krb\makefile \
+	lib\krb5\os\makefile \
+	lib\krb5\posix\makefile \
+	lib\krb5\rcache\makefile \
+	util\et\makefile \
+	util\profile\makefile \
+	util\misc\makefile \
+	util\windows\makefile \
+	windows\makefile \
+	windows\lib\makefile \
+	windows\cns\makefile \
+	windows\gss\makefile \
+	windows\wintel\makefile \
+	windows\pwchange\makefile \
+	windows\gina\makefile \
+	windows\install\makefile
+
+makefile-windows:: $(WIN_CONFIG) $(WIN_MAKEFILES)
+
+clients\makefile: $(WIN_CONFIG) clients\Makefile.in
+	$(WCONFIG) config < clients\Makefile.in > $@
+
+clients\kdestroy\makefile: $(WIN_CONFIG) clients\kdestroy\Makefile.in
+	$(WCONFIG) config < clients\kdestroy\Makefile.in > $@
+
+clients\kinit\makefile: $(WIN_CONFIG) clients\kinit\Makefile.in
+	$(WCONFIG) config < clients\kinit\Makefile.in > $@
+
+clients\klist\makefile: $(WIN_CONFIG) clients\klist\Makefile.in
+	$(WCONFIG) config < clients\klist\Makefile.in > $@
+
+include\makefile: $(WIN_CONFIG) include\Makefile.in
+	$(WCONFIG) config < include\Makefile.in > $@
+
+include\krb5\makefile: $(WIN_CONFIG) include\krb5\Makefile.in
+	$(WCONFIG) config < include\krb5\Makefile.in > $@
+
+lib\makefile: $(WIN_CONFIG) lib\Makefile.in
+	$(WCONFIG) -dll config < lib\Makefile.in > $@
+
+lib\crypto\makefile: $(WIN_CONFIG) lib\crypto\Makefile.in
+	$(WCONFIG) -dll config < lib\crypto\Makefile.in > $@
+
+lib\crypto\crc32\makefile: $(WIN_CONFIG) lib\crypto\crc32\Makefile.in
+	$(WCONFIG) -dll config < lib\crypto\crc32\Makefile.in > $@
+
+lib\crypto\des\makefile: $(WIN_CONFIG) lib\crypto\des\Makefile.in
+	$(WCONFIG) -dll config < lib\crypto\des\Makefile.in > $@
+
+lib\crypto\md4\makefile: $(WIN_CONFIG) lib\crypto\md4\Makefile.in
+	$(WCONFIG) -dll config < lib\crypto\md4\Makefile.in > $@
+
+lib\crypto\md5\makefile: $(WIN_CONFIG) lib\crypto\md5\Makefile.in
+	$(WCONFIG) -dll config < lib\crypto\md5\Makefile.in > $@
+
+lib\crypto\sha\makefile: $(WIN_CONFIG) lib\crypto\sha\Makefile.in
+	$(WCONFIG) -dll config < lib\crypto\sha\Makefile.in > $@
+
+lib\crypto\os\makefile: $(WIN_CONFIG) lib\crypto\os\Makefile.in
+	$(WCONFIG) -dll config < lib\crypto\os\Makefile.in > $@
+
+lib\des425\makefile: $(WIN_CONFIG) lib\des425\Makefile.in
+	$(WCONFIG) -dll config < lib\des425\Makefile.in > $@
+
+lib\gssapi\makefile: $(WIN_CONFIG) lib\gssapi\Makefile.in
+	$(WCONFIG) -dll config < lib\gssapi\Makefile.in > $@
 
+lib\gssapi\generic\makefile: $(WIN_CONFIG) lib\gssapi\generic\Makefile.in
+	$(WCONFIG) -dll config < lib\gssapi\generic\Makefile.in > $@
+
+lib\gssapi\krb5\makefile: $(WIN_CONFIG) lib\gssapi\krb5\Makefile.in
+	$(WCONFIG) -dll config < lib\gssapi\krb5\Makefile.in > $@
+
+lib\kadm\makefile: $(WIN_CONFIG) lib\kadm\Makefile.in
+	$(WCONFIG) -dll config < lib\kadm\Makefile.in > $@
+
+lib\krb5\makefile: $(WIN_CONFIG) lib\krb5\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\Makefile.in > $@
+
+lib\krb5\asn.1\makefile: $(WIN_CONFIG) lib\krb5\asn.1\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\asn.1\Makefile.in > $@
+
+lib\krb5\ccache\makefile: $(WIN_CONFIG) lib\krb5\ccache\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\ccache\Makefile.in > $@
+
+lib\krb5\ccache\file\makefile: $(WIN_CONFIG) lib\krb5\ccache\file\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\ccache\file\Makefile.in > $@
+
+lib\krb5\ccache\memory\makefile: $(WIN_CONFIG) lib\krb5\ccache\memory\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\ccache\memory\Makefile.in > $@
+
+lib\krb5\ccache\stdio\makefile: $(WIN_CONFIG) lib\krb5\ccache\stdio\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\ccache\stdio\Makefile.in > $@
+
+lib\krb5\error_tables\makefile: $(WIN_CONFIG) lib\krb5\error_tables\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\error_tables\Makefile.in > $@
+
+lib\krb5\free\makefile: $(WIN_CONFIG) lib\krb5\free\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\free\Makefile.in > $@
+
+lib\krb5\keytab\makefile: $(WIN_CONFIG) lib\krb5\keytab\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\keytab\Makefile.in > $@
+
+lib\krb5\keytab\file\makefile: $(WIN_CONFIG) lib\krb5\keytab\file\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\keytab\file\Makefile.in > $@
+
+lib\krb5\krb\makefile: $(WIN_CONFIG) lib\krb5\krb\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\krb\Makefile.in > $@
+
+lib\krb5\os\makefile: $(WIN_CONFIG) lib\krb5\os\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\os\Makefile.in > $@
+
+lib\krb5\posix\makefile: $(WIN_CONFIG) lib\krb5\posix\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\posix\Makefile.in > $@
+
+lib\krb5\rcache\makefile: $(WIN_CONFIG) lib\krb5\rcache\Makefile.in
+	$(WCONFIG) -dll config < lib\krb5\rcache\Makefile.in > $@
+
+util\et\makefile: $(WIN_CONFIG) util\et\Makefile.in
+	$(WCONFIG) -dll config < util\et\Makefile.in > $@
+
+util\profile\makefile: $(WIN_CONFIG) util\profile\Makefile.in
+	$(WCONFIG) -dll config < util\profile\Makefile.in > $@
+
+util\misc\makefile: $(WIN_CONFIG) util\misc\Makefile.in
+	$(WCONFIG) -dll config < util\misc\Makefile.in > $@
+
+util\windows\makefile: $(WIN_CONFIG) util\windows\Makefile.in
+	$(WCONFIG) config < util\windows\Makefile.in > $@
+
+windows\makefile: $(WIN_CONFIG) windows\Makefile.in
+	$(WCONFIG) config < windows\Makefile.in > $@
+
+windows\lib\makefile: $(WIN_CONFIG) windows\lib\Makefile.in
+	$(WCONFIG) config < windows\lib\Makefile.in > $@
+
+windows\cns\makefile: $(WIN_CONFIG) windows\cns\Makefile.in
+	$(WCONFIG) config < windows\cns\Makefile.in > $@
+
+windows\gss\makefile: $(WIN_CONFIG) windows\gss\Makefile.in
+	$(WCONFIG) config < windows\gss\Makefile.in > $@
+
+windows\wintel\makefile: $(WIN_CONFIG) windows\wintel\Makefile.in
+	$(WCONFIG) config < windows\wintel\Makefile.in > $@
+
+windows\pwchange\makefile: $(WIN_CONFIG) windows\pwchange\Makefile.in
+	$(WCONFIG) config < windows\pwchange\Makefile.in > $@
+
+windows\gina\makefile: $(WIN_CONFIG) windows\gina\Makefile.in
+	$(WCONFIG) config < windows\gina\Makefile.in > $@
+
+windows\install\makefile: $(WIN_CONFIG) windows\install\Makefile.in
+	$(WCONFIG) config < windows\install\Makefile.in > $@
+
+##DOSRM=$(BUILDTOP)\util\windows\rm
 clean-windows::
 	@echo Making clean in include
 	cd include
-	-$(MAKE) -$(MAKEFLAGS) clean
+	$(MAKE) -$(MAKEFLAGS) clean
 	@echo Making clean in util\et
 	cd ..\util\et
-	-$(MAKE) -$(MAKEFLAGS) clean
+	$(MAKE) -$(MAKEFLAGS) clean
 	@echo Making clean in util\profile
 	cd ..\profile
-	-$(MAKE) -$(MAKEFLAGS) clean
+	$(MAKE) -$(MAKEFLAGS) clean
+	@echo Making clean in util\misc
+	cd ..\misc
+	$(MAKE) -$(MAKEFLAGS) clean
 	@echo Making clean in lib
 	cd ..\..\lib
-	-$(MAKE) -$(MAKEFLAGS) clean
+	$(MAKE) -$(MAKEFLAGS) clean
+	@echo Making clean in clients
+	cd ..\clients
+	$(MAKE) -$(MAKEFLAGS) clean
 	@echo Making clean in windows
 	cd ..\windows
-	-$(MAKE) -$(MAKEFLAGS) clean
+	$(MAKE) -$(MAKEFLAGS) clean
 	cd ..
 	@echo Making clean in root
-	config\rm.bat *.obj msvc.pdb *.err wconfig.obj wconfig.exe
+	$(RM) *.obj msvc.pdb *.err wconfig.obj wconfig.exe
+	@echo Making clean in util\windows
+	cd util\windows
+	$(MAKE) -$(MAKEFLAGS) clean
+	cd ..\..
 
 #
 # Renames DOS 8.3 filenames back to their proper, longer names.
@@ -199,26 +401,25 @@
 	config/* include/* include/krb5/* include/krb5/asn.1/* \
 	include/krb5/stock/* include/sys/* lib/* lib/crypto/* \
 	lib/crypto/crc32/* lib/crypto/des/* lib/crypto/md4/* \
-	lib/crypto/md5/* lib/crypto/os/* lib/des425/* lib/gssapi/* \
-	lib/gssapi/generic/* lib/gssapi/krb5/* lib/gssapi/mechglue/* \
-	lib/kadm/* lib/krb425/* \
-	lib/krb5/* lib/krb5/asn.1/* lib/krb5/krb/* \
-	lib/krb5/ccache/* lib/krb5/ccache/file/* \
+	lib/crypto/md5/* lib/crypto/sha/* lib/crypto/os/* lib/des425/* \
+	lib/gssapi/* lib/gssapi/generic/* lib/gssapi/krb5/* \
+	lib/kadm/* lib/krb5/* lib/krb5/asn.1/* lib/krb5/krb/* \
+	lib/krb5/ccache/* lib/krb5/ccache/file/* lib/krb5/ccache/memory \
 	lib/krb5/ccache/stdio/* lib/krb5/error_tables/* \
 	lib/krb5/free/* lib/krb5/keytab/* lib/krb5/keytab/file/* \
 	lib/krb5/os/* lib/krb5/posix/* lib/krb5/rcache/* util/et/* \
-	util/profile/*
+	util/profile/* util/misc/*
 
-WINFILES= windows/* windows/cns/* windows/wintel/* windows/gss/*
+WINFILES= windows/* windows/cns/* windows/wintel/* windows/gss/* windows/pwchange/*
 
-MACFILES= mac/* mac/kconfig/* mac/libraries/* mac/telnet-k5-auth/* \
-	mac/gss-sample/* config/* include/* include/krb5/* \
-	include/krb5/asn.1/* include/krb5/stock/* include/sys/* \
-	./patchlevel.h
+MACFILES= mac/* mac/kconfig/* mac/telnet-k5-auth/* mac/gss-sample/* \
+	mac/ktelnet/* include/* include/krb5/* include/krb5/asn.1/* \
+	include/krb5/stock/* include/sys/* ./patchlevel.h
 
 WINBINARYFILES=windows/cns/*.ico windows/wintel/*.ico windows/gss/*.ico
 
 CLEANUP= util/profile/profile.h util/profile/prof_err.[ch] \
+	util/misc/getopt.h include/getopt.h \
 	lib/krb5/error_tables/asn1_err.c lib/krb5/error_tables/kdb5_err.c \
 	lib/krb5/error_tables/krb5_err.c lib/krb5/error_tables/kv5m_err.c \
 	lib/krb5/error_tables/adm_err.c \
@@ -227,7 +428,8 @@
 	include/adm_err.h include/profile.h include/krb5.h \
 	include/krb5/osconf.h \
 	lib/gssapi/generic/gssapi_err_generic.[ch] \
-	lib/gssapi/krb5/gssapi_err_krb5.[ch] winfile.list macfile.list
+	lib/gssapi/krb5/gssapi_err_krb5.[ch] winfile.list macfile.list \
+	Makefile.win
 
 kerbsrc.win: kerbsrc.zip
 
@@ -244,7 +446,36 @@
 Makefile.sav:
 	rm -f Makefile.sav
 	mv Makefile Makefile.sav
-	cat config/windows.in Makefile.in > Makefile
+	cat config/windows.in Makefile.in config/win-post.in | \
+		sed -e 's/^##DOS//' > Makefile
+
+Makefile.win: Makefile.in config/windows.in config/win-post.in
+	rm -f Makefile.win
+	cat config/windows.in Makefile.in config/win-post.in | \
+		sed -e 's/^##DOS//' > Makefile.win
+
+config-windows-from-unix: Makefile.win awk-windows-mac version-info
+	@echo ""
+	@echo "Configured for Windows build"
+	@echo ""
+
+version-info:
+	@echo "generating version..."
+	( top="./lib/krb5/krb"; \
+        if test -r util/release-info ; then \
+            if test -r lib/krb5/krb/version-info ; then \
+                . util/release-info; . lib/krb5/krb/version-info; \
+            else \
+                echo "Can't find lib/krb5/krb/version-info.";  \
+                exit 1; \
+            fi; \
+        else \
+            echo "Can't find util/release-info.";  \
+            exit 1; \
+        fi )
+
+clean-windows-from-unix:
+	rm -f $(CLEANUP) $(WIN_MAKEFILES)
 
 kerbsrc.zip: Makefile.sav awk-windows-mac winfile.list
 	rm -f kerbsrc.zip
@@ -272,29 +503,38 @@
 
 Macfile: macfile.list Makefile.sav
 	rm -f Macfile
-	sed -e 's|/|:|g' -e 's/^/:/' -e '/:.:/d' -e '/:mac:/d' macfile.list > macfile.maclist
+	sed -e 's|^|/|' -e '\|/./|d' -e '\|/mac/|d' macfile.list > macfile.maclist
 	grep '\.c$$' macfile.maclist > macsrcsgss
-	grep -v ':gssapi:' macsrcsgss > macsrcsk5
+	grep -v '/gssapi/' macsrcsgss > macsrcsk5
 	echo SRCS = `cat macsrcsgss` >> Macfile
 	echo GSSOBJS68K = `sed 's/$$/.68K.o/' macsrcsgss` >> Macfile
+	echo GSSOBJS68KA4 = `sed 's/$$/.68K.a4.o/' macsrcsgss` >> Macfile
 	echo GSSOBJSPPC = `sed 's/$$/.PPC.o/' macsrcsgss` >> Macfile
 	echo K5OBJS68K = `sed 's/$$/.68K.o/' macsrcsk5` >> Macfile
+	echo K5OBJS68KA4 = `sed 's/$$/.68K.a4.o/' macsrcsk5` >> Macfile
 	echo K5OBJSPPC = `sed 's/$$/.PPC.o/' macsrcsk5` >> Macfile
-	echo INCLUDES = `sed -n -e 's/\(.*:\)[^:]*\.h$$/-i \1/p' macfile.maclist | sort -u` >> Macfile
+	echo INCLUDES = `sed -n -e 's|\(.*/\)[^/]*\.h$$|-i \1|p' macfile.maclist | sort -u` >> Macfile
 	echo "" >> Macfile
-	tr '/:\\' ':\304\266'< mac/Makefile.tmpl >> Macfile
+	cat mac/Makefile.tmpl >> Macfile
 
-kerbsrc.mac: awk-windows-mac macfile.list Macfile
-	cp mac/libraries/autoconf.h include/autoconf.h
-	mv Macfile Makefile
-	tar cvf kerbsrc.tar Makefile include/autoconf.h `cat macfile.list`
+kerbsrc.mac: awk-windows-mac macfile.list Macfile version-info
+	mv mac/autoconf.h include/autoconf.h
+	tr '/:\\%' ':\304\266/' < Macfile > Makefile
+	tr '/:\\%' ':\304\266/' < mac/kconfig/Macfile > mac/kconfig/Makefile
+	tr '/:\\%' ':\304\266/' < mac/telnet-k5-auth/Macfile > mac/telnet-k5-auth/Makefile
+	tr '/:\\%' ':\304\266/' < mac/gss-sample/Macfile > mac/gss-sample/Makefile
+	mv mac/makeworld makeworld
+	tar cvf kerbsrc.tar Makefile makeworld include/autoconf.h `cat macfile.list` mac/kconfig/Makefile mac/telnet-k5-auth/Makefile mac/gss-sample/Makefile
 	rm -f $(CLEANUP)
-	rm -f include/autoconf.h Makefile macsrc* macfile.maclist
+	rm -f Makefile Macfile macsrc* macfile.maclist mac/kconfig/Makefile \
+		mac/gss-sample/Makefile mac/telnet-k5-auth/Makefile
 	mv Makefile.sav Makefile
+	mv makeworld mac/
+	mv include/autoconf.h mac/autoconf.h
 
 #
 # Part of building the PC release has to be done on Unix. This includes
-# anything the requires awk.
+# anything that requires awk.
 #
 AH  = util/et/et_h.awk
 AC  = util/et/et_c.awk
@@ -303,26 +543,30 @@
 GG  = lib/gssapi/generic/
 GK  = lib/gssapi/krb5/
 PR  = util/profile/
+MISC= util/misc/
+AWK = awk
 
 awk-windows-mac:
-	gawk -f $(AH) outfile=$(INC)asn1_err.h $(ET)asn1_err.et
-	gawk -f $(AH) outfile=$(INC)kdb5_err.h $(ET)kdb5_err.et
-	gawk -f $(AH) outfile=$(INC)krb5_err.h $(ET)krb5_err.et
-	gawk -f $(AH) outfile=$(INC)kv5m_err.h $(ET)kv5m_err.et
-	gawk -f $(AH) outfile=$(INC)adm_err.h $(ET)adm_err.et
+	$(AWK) -f $(AH) outfile=$(INC)asn1_err.h $(ET)asn1_err.et
+	$(AWK) -f $(AH) outfile=$(INC)kdb5_err.h $(ET)kdb5_err.et
+	$(AWK) -f $(AH) outfile=$(INC)krb5_err.h $(ET)krb5_err.et
+	$(AWK) -f $(AH) outfile=$(INC)kv5m_err.h $(ET)kv5m_err.et
+	$(AWK) -f $(AH) outfile=$(INC)adm_err.h $(ET)adm_err.et
 	cat $(INC)/krb5.hin $(INC)/krb5_err.h $(INC)/kdb5_err.h \
 		$(INC)/kv5m_err.h $(INC)/asn1_err.h > $(INC)/krb5.h
-	gawk -f $(AC) outfile=$(ET)asn1_err.c $(ET)asn1_err.et
-	gawk -f $(AC) outfile=$(ET)kdb5_err.c $(ET)kdb5_err.et
-	gawk -f $(AC) outfile=$(ET)krb5_err.c $(ET)krb5_err.et
-	gawk -f $(AC) outfile=$(ET)kv5m_err.c $(ET)kv5m_err.et
-	gawk -f $(AC) outfile=$(ET)adm_err.c $(ET)adm_err.et
-	gawk -f $(AH) outfile=$(GG)gssapi_err_generic.h $(GG)gssapi_err_generic.et
-	gawk -f $(AC) outfile=$(GG)gssapi_err_generic.c $(GG)gssapi_err_generic.et
-	gawk -f $(AH) outfile=$(GK)gssapi_err_krb5.h $(GK)gssapi_err_krb5.et
-	gawk -f $(AC) outfile=$(GK)gssapi_err_krb5.c $(GK)gssapi_err_krb5.et
-	gawk -f $(AH) outfile=$(PR)prof_err.h $(PR)prof_err.et
-	gawk -f $(AC) outfile=$(PR)prof_err.c $(PR)prof_err.et
+	$(AWK) -f $(AC) outfile=$(ET)asn1_err.c $(ET)asn1_err.et
+	$(AWK) -f $(AC) outfile=$(ET)kdb5_err.c $(ET)kdb5_err.et
+	$(AWK) -f $(AC) outfile=$(ET)krb5_err.c $(ET)krb5_err.et
+	$(AWK) -f $(AC) outfile=$(ET)kv5m_err.c $(ET)kv5m_err.et
+	$(AWK) -f $(AC) outfile=$(ET)adm_err.c $(ET)adm_err.et
+	$(AWK) -f $(AH) outfile=$(GG)gssapi_err_generic.h $(GG)gssapi_err_generic.et
+	$(AWK) -f $(AC) outfile=$(GG)gssapi_err_generic.c $(GG)gssapi_err_generic.et
+	$(AWK) -f $(AH) outfile=$(GK)gssapi_err_krb5.h $(GK)gssapi_err_krb5.et
+	$(AWK) -f $(AC) outfile=$(GK)gssapi_err_krb5.c $(GK)gssapi_err_krb5.et
+	$(AWK) -f $(AH) outfile=$(PR)prof_err.h $(PR)prof_err.et
+	$(AWK) -f $(AC) outfile=$(PR)prof_err.c $(PR)prof_err.et
 	cat $(PR)/profile.hin $(PR)prof_err.h > $(PR)profile.h
 	cp $(PR)profile.h include/profile.h
+	cat $(MISC)/getopt.hin > $(MISC)getopt.h
+	cp $(MISC)getopt.h include/getopt.h
 	cp $(INC)/krb5/stock/osconf.h $(INC)/krb5
