Add keytab kinit test cases
[krb5.git] / src / Makefile.in
index 3d342bc3d1ea77a07d138376fcf76af83dd0671e..f4a9950424a269aa3bb9b4abf60c21a0bf12cd97 100644 (file)
@@ -8,12 +8,14 @@ mydir=.
 #      plugins/preauth/cksum_body
 #      plugins/authdata/greet
 SUBDIRS=util include lib \
-       @ldap_plugin_dir@ \
+       @sam2_plugin@ \
+       plugins/kadm5_hook/test \
        plugins/kdb/db2 \
+       @ldap_plugin_dir@ \
        plugins/preauth/pkinit \
-       plugins/preauth/encrypted_challenge \
        kdc kadmin slave clients appl tests \
-       config-files gen-manpages
+       config-files gen-manpages man doc @po@
+WINSUBDIRS=include util lib ccapi windows clients appl
 BUILDTOP=$(REL).
 LOCALINCLUDES = -I$(srcdir) 
 PROG_LIBPATH=-L$(TOPLIBD)
@@ -43,34 +45,6 @@ config.status: $(top_srcdir)/config/shlib.conf
 ##DOS##!endif
 
 all-windows:: maybe-awk Makefile-windows
-       @echo Making autoconf.h in include
-       cd include
-       $(MAKE) -$(MFLAGS) autoconf.h
-       @echo Making in util
-       cd ..\util
-       $(MAKE) -$(MFLAGS)
-       @echo Making in include
-       cd ..\include
-       $(MAKE) -$(MFLAGS) 
-       @echo Making in lib
-       cd ..\lib
-       $(MAKE) -$(MFLAGS) 
-       @echo Making in ccapi
-       cd ..\ccapi
-       $(MAKE) -$(MFLAGS)
-       @echo Making in windows
-       cd ..\windows
-       $(MAKE) -$(MFLAGS) 
-       @echo Making in clients
-       cd ..\clients
-       $(MAKE) -$(MFLAGS)
-       @echo Making in appl\gss-sample
-       cd ..\appl\gss-sample
-       $(MAKE) -$(MFLAGS)
-       @echo Making in appl\gssftp\ftp
-       cd ..\..\appl\gssftp\ftp
-       $(MAKE) -$(MFLAGS)
-       cd ..\..\..
 
 world::
        date
@@ -80,7 +54,10 @@ world::
 INSTALLMKDIRS = $(KRB5ROOT) $(KRB5MANROOT) $(KRB5OTHERMKDIRS) \
                $(ADMIN_BINDIR) $(SERVER_BINDIR) $(CLIENT_BINDIR) \
                $(ADMIN_MANDIR) $(SERVER_MANDIR) $(CLIENT_MANDIR) \
-               $(FILE_MANDIR) $(KRB5_LIBDIR) $(KRB5_INCDIR) \
+               $(FILE_MANDIR) \
+               $(ADMIN_CATDIR) $(SERVER_CATDIR) $(CLIENT_CATDIR) \
+               $(FILE_CATDIR) \
+               $(KRB5_LIBDIR) $(KRB5_INCDIR) \
                $(KRB5_DB_MODULE_DIR) $(KRB5_PA_MODULE_DIR) \
                $(KRB5_AD_MODULE_DIR) \
                $(KRB5_LIBKRB5_MODULE_DIR) \
@@ -106,28 +83,12 @@ install-headers-prerecurse: install-headers-mkdirs
 # install::
 #      $(MAKE) $(MFLAGS) install.man
 
-fake-install: runenv.py
-       $(RM) -r $(FAKEPREFIX)
-       @for i in $(INSTALLMKDIRS); do \
-               $(srcdir)/config/mkinstalldirs util/fakedest$$i; \
-       done
-       (w=`pwd`; cd util && $(MAKE) install DESTDIR="$$w/util/fakedest")
-       (w=`pwd`; cd lib && $(MAKE) install DESTDIR="$$w/util/fakedest")
-       (w=`pwd`; cd plugins/kdb/db2 && $(MAKE) install DESTDIR="$$w/util/fakedest")
-       (w=`pwd`; cd plugins/preauth/encrypted_challenge && $(MAKE) install DESTDIR="$$w/util/fakedest")
-       if test -r plugins/preauth/pkinit/Makefile; then \
-         (w=`pwd`; cd plugins/preauth/pkinit && $(MAKE) install DESTDIR="$$w/util/fakedest"); \
-       fi
-
-#      (w=`pwd`; cd plugins/locate/python && $(MAKE) install DESTDIR="$$w/util/fakedest")
-
 TAGS: $(SRCS)
        etags $(SRCS)
 
 clean-:: clean-windows
 clean-unix::
        $(RM) *.o core krb5-config
-       $(RM) -r util/fakedest
 
 mostlyclean: clean
 
@@ -183,8 +144,7 @@ config-windows:: Makefile-windows
 ##DOS##MKFDEP=$(WCONFIG_EXE) config\win-pre.in config\win-post.in
 
 WINMAKEFILES=Makefile \
-       appl\gss-sample\Makefile \
-       appl\gssftp\ftp\Makefile \
+       appl\Makefile appl\gss-sample\Makefile \
        ccapi\Makefile \
        ccapi\lib\win\Makefile \
        ccapi\server\win\Makefile \
@@ -193,18 +153,16 @@ WINMAKEFILES=Makefile \
        clients\kinit\Makefile clients\klist\Makefile \
        clients\kpasswd\Makefile clients\kvno\Makefile \
        clients\kcpytkt\Makefile clients\kdeltkt\Makefile \
+       clients\kswitch\Makefile \
        include\Makefile \
-       lib\Makefile lib\crypto\Makefile \
-       lib\crypto\krb\crc32\Makefile lib\crypto\@CRYPTO_IMPL@\des\Makefile \
-       lib\crypto\krb\dk\Makefile lib\crypto\@CRYPTO_IMPL@\enc_provider\Makefile \
-       lib\crypto\@CRYPTO_IMPL@\hash_provider\Makefile \
-       lib\crypto\krb\keyhash_provider\Makefile \
-       lib\crypto\krb\prf\Makefile lib\crypto\krb\rand2key\Makefile \
-       lib\crypto\krb\raw\Makefile lib\crypto\krb\old\Makefile \
-       lib\crypto\@CRYPTO_IMPL@\sha1\Makefile lib\crypto\@CRYPTO_IMPL@\arcfour\Makefile \
-       lib\crypto\@CRYPTO_IMPL@\md4\Makefile lib\crypto\@CRYPTO_IMPL@\md5\Makefile \
-       lib\crypto\krb\yarrow\Makefile lib\crypto\@CRYPTO_IMPL@\aes\Makefile \
-       lib\crypto\crypto_tests \
+       lib\Makefile lib\crypto\Makefile lib\crypto\krb\Makefile \
+       lib\crypto\builtin\Makefile lib\crypto\builtin\aes\Makefile \
+       lib\crypto\builtin\enc_provider\Makefile \
+       lib\crypto\builtin\des\Makefile lib\crypto\builtin\md5\Makefile \
+       lib\crypto\builtin\camellia\Makefile lib\crypto\builtin\md4\Makefile \
+       lib\crypto\builtin\hash_provider\Makefile \
+       lib\crypto\builtin\sha2\Makefile lib\crypto\builtin\sha1\Makefile \
+       lib\crypto\crypto_tests\Makefile \
        lib\gssapi\Makefile lib\gssapi\generic\Makefile \
        lib\gssapi\krb5\Makefile lib\gssapi\mechglue\Makefile \
        lib\gssapi\spnego\Makefile \
@@ -218,21 +176,24 @@ WINMAKEFILES=Makefile \
        lib\krb5\rcache\Makefile \
        lib\krb5\unicode\Makefile \
        util\Makefile \
-       util\et\Makefile util\profile\Makefile \
+       util\et\Makefile util\profile\Makefile util\profile\testmod\Makefile \
        util\support\Makefile \
        util\windows\Makefile \
+       util\wshelper\Makefile \
        windows\Makefile windows\lib\Makefile \
        windows\cns\Makefile windows\gina\Makefile \
-       windows\gss\Makefile windows\ms2mit\Makefile \
-       windows\wintel\Makefile windows\kfwlogon\Makefile
+       windows\ms2mit\Makefile \
+       windows\wintel\Makefile windows\kfwlogon\Makefile \
+       windows\leashdll\Makefile windows\leash\Makefile \
+       windows\leash\htmlhelp\Makefile
 
 ##DOS##Makefile-windows:: $(MKFDEP) $(WINMAKEFILES)
 
 ##DOS##Makefile: Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##appl\gss-sample\Makefile: appl\gss-sample\Makefile.in $(MKFDEP)
+##DOS##appl\Makefile: appl\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##appl\gssftp\ftp\Makefile: appl\gssftp\ftp\Makefile.in $(MKFDEP)
+##DOS##appl\gss-sample\Makefile: appl\gss-sample\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##ccapi\Makefile: ccapi\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
@@ -252,6 +213,8 @@ WINMAKEFILES=Makefile \
 ##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##clients\kpasswd\Makefile: clients\kpasswd\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
+##DOS##clients\kswitch\Makefile: clients\kswitch\Makefile.in $(MKFDEP)
+##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##clients\kvno\Makefile: clients\kvno\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##clients\kcpytkt\Makefile: clients\kcpytkt\Makefile.in $(MKFDEP)
@@ -264,37 +227,29 @@ WINMAKEFILES=Makefile \
 ##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##lib\crypto\Makefile: lib\crypto\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\krb\crc32\Makefile: lib\crypto\krb\crc32\Makefile.in $(MKFDEP)
-##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\@CRYPTO_IMPL@\des\Makefile: lib\crypto\@CRYPTO_IMPL@\des\Makefile.in $(MKFDEP)
-##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\krb\dk\Makefile: lib\crypto\krb\dk\Makefile.in $(MKFDEP)
-##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\@CRYPTO_IMPL@\enc_provider\Makefile: lib\crypto\@CRYPTO_IMPL@\enc_provider\Makefile.in $(MKFDEP)
-##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\@CRYPTO_IMPL@\hash_provider\Makefile: lib\crypto\@CRYPTO_IMPL@\hash_provider\Makefile.in $(MKFDEP)
+##DOS##lib\crypto\krb\Makefile: lib\crypto\krb\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\krb\keyhash_provider\Makefile: lib\crypto\krb\keyhash_provider\Makefile.in $(MKFDEP)
+##DOS##lib\crypto\builtin\aes\Makefile: lib\crypto\builtin\aes\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\@CRYPTO_IMPL@\sha1\Makefile: lib\crypto\@CRYPTO_IMPL@\sha1\Makefile.in $(MKFDEP)
+##DOS##lib\crypto\builtin\enc_provider\Makefile: lib\crypto\builtin\enc_provider\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\@CRYPTO_IMPL@\arcfour\Makefile: lib\crypto\@CRYPTO_IMPL@\arcfour\Makefile.in $(MKFDEP)
+##DOS##lib\crypto\builtin\des\Makefile: lib\crypto\builtin\des\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\@CRYPTO_IMPL@\md4\Makefile: lib\crypto\@CRYPTO_IMPL@\md4\Makefile.in $(MKFDEP)
+##DOS##lib\crypto\builtin\md5\Makefile: lib\crypto\builtin\md5\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\@CRYPTO_IMPL@\md5\Makefile: lib\crypto\md5\@CRYPTO_IMPL@\Makefile.in $(MKFDEP)
+##DOS##lib\crypto\builtin\camellia\Makefile: lib\crypto\builtin\camellia\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\krb\yarrow\Makefile: lib\crypto\krb\yarrow\Makefile.in $(MKFDEP)
+##DOS##lib\crypto\builtin\md4\Makefile: lib\crypto\builtin\md4\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\@CRYPTO_IMPL@\aes\Makefile: lib\crypto\@CRYPTO_IMPL@\aes\Makefile.in $(MKFDEP)
+##DOS##lib\crypto\builtin\hash_provider\Makefile: lib\crypto\builtin\hash_provider\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\krb\old\Makefile: lib\crypto\krb\old\Makefile.in $(MKFDEP)
+##DOS##lib\crypto\builtin\sha2\Makefile: lib\crypto\builtin\sha2\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\krb\raw\Makefile: lib\crypto\krb\raw\Makefile.in $(MKFDEP)
+##DOS##lib\crypto\builtin\sha1\Makefile: lib\crypto\builtin\sha1\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\krb\Makefile: lib\crypto\krb\Makefile.in $(MKFDEP)
+##DOS##lib\crypto\builtin\Makefile: lib\crypto\builtin\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##lib\crypto\@CRYPTO_IMPL@\Makefile: lib\crypto\@CRYPTO_IMPL@\Makefile.in $(MKFDEP)
+##DOS##lib\crypto\crypto_tests\Makefile: lib\crypto\crypto_tests\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##lib\gssapi\Makefile: lib\gssapi\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
@@ -334,10 +289,14 @@ WINMAKEFILES=Makefile \
 ##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##util\profile\Makefile: util\profile\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
+##DOS##util\profile\testmod\Makefile: util\profile\testmod\Makefile.in $(MKFDEP)
+##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##util\support\Makefile: util\support\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##util\windows\Makefile: util\windows\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
+##DOS##util\wshelper\Makefile: util\wshelper\Makefile.in $(MKFDEP)
+##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##windows\Makefile: windows\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##windows\lib\Makefile: windows\lib\Makefile.in $(MKFDEP)
@@ -346,39 +305,20 @@ WINMAKEFILES=Makefile \
 ##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##windows\gina\Makefile: windows\gina\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
-##DOS##windows\gss\Makefile: windows\gss\Makefile.in $(MKFDEP)
-##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##windows\ms2mit\Makefile: windows\ms2mit\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##windows\wintel\Makefile: windows\wintel\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##windows\kfwlogon\Makefile: windows\kfwlogon\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
+##DOS##windows\leashdll\Makefile: windows\leashdll\Makefile.in $(MKFDEP)
+##DOS##        $(WCONFIG) config < $@.in > $@
+##DOS##windows\leash\Makefile: windows\leash\Makefile.in $(MKFDEP)
+##DOS##        $(WCONFIG) config < $@.in > $@
+##DOS##windows\leash\htmlhelp\Makefile: windows\leash\htmlhelp\Makefile.in $(MKFDEP)
+##DOS##        $(WCONFIG) config < $@.in > $@
 
 clean-windows:: Makefile-windows
-       @echo Making clean in util
-       cd util
-       $(MAKE) -$(MFLAGS) clean
-       @echo Making clean in include
-       cd ..\include
-       $(MAKE) -$(MFLAGS) clean
-       @echo Making clean in lib
-       cd ..\lib
-       $(MAKE) -$(MFLAGS) clean
-       @echo Making clean in windows
-       cd ..\windows
-       $(MAKE) -$(MFLAGS) clean
-       @echo Making clean in clients
-       cd ..\clients
-       $(MAKE) -$(MFLAGS) clean
-       @echo Making clean in appl\gss-sample
-       cd ..\appl\gss-sample
-       $(MAKE) -$(MFLAGS) clean
-       @echo Making clean in appl\gssftp\ftp
-       cd ..\..\appl\gssftp\ftp
-       $(MAKE) -$(MFLAGS) clean
-       cd ..\..\..
-       @echo Making clean in root
 
 #
 # Renames DOS 8.3 filenames back to their proper, longer names.
@@ -391,40 +331,40 @@ ren2long:
 # Macintosh sites from the source tree on Unix.
 #
 ZIP=zip
-FILES= ./* \
-    clients/* clients/kdestroy/* clients/kinit/* clients/klist/* \
-       clients/kpasswd/* clients/kcpytkt/* clients/kdeltkt/* \
-       config/* include/* include/kerberosIV/* \
-       include/krb5/* include/krb5/stock/* include/sys/* lib/* \
-       lib/crypto/* lib/crypto/krb/crc32/* lib/crypto/@CRYPTO_IMPL@/des/* lib/crypto/krb/dk/* \
-       lib/crypto/@CRYPTO_IMPL@/enc_provider/* lib/crypto/@CRYPTO_IMPL@/hash_provider/* \
-       lib/crypto/krb/keyhash_provider/* \
-       lib/crypto/krb/prf/* lib/crypto/krb/rand2key/* \
-       lib/crypto/krb/old/* lib/crypto/krb/raw/* \
-       lib/crypto/@CRYPTO_IMPL@/sha1/* lib/crypto/@CRYPTO_IMPL@/arcfour/* \
-       lib/crypto/@CRYPTO_IMPL@/md4/* \
-       lib/crypto/@CRYPTO_IMPL@/md5/* lib/crypto/krb/yarrow/* \
-       lib/crypto/@CRYPTO_IMPL@/* lib/crypto/krb/* lib/crypto/crypto_tests \
+FILES= ./* appl/* appl/gss-sample/* \
+       clients/* clients/kdestroy/* clients/kinit/* clients/klist/* \
+       clients/kpasswd/* clients/kvno/* clients/kcpytkt/* clients/kdeltkt/* \
+       config/* include/* \
+       include/krb5/* lib/* lib/crypto/* lib/crypto/krb/* \
+       lib/crypto/krb/prf/* lib/crypto/krb/checksum/* lib/crypto/krb/old/* \
+       lib/crypto/krb/raw/* lib/crypto/krb/arcfour/* lib/crypto/krb/dk/* \
+       lib/crypto/builtin/aes/* lib/crypto/builtin/enc_provider/* \
+       lib/crypto/builtin/des/* lib/crypto/builtin/md5/* \
+       lib/crypto/builtin/camellia/* lib/crypto/builtin/md4/* \
+       lib/crypto/builtin/hash_provider/* lib/crypto/builtin/sha2/* \
+       lib/crypto/builtin/sha1/* lib/crypto/builtin/* \
+       lib/crypto/crypto_tests/* \
        lib/gssapi/* lib/gssapi/generic/* lib/gssapi/krb5/* \
        lib/gssapi/mechglue/* lib/gssapi/spnego/* \
        lib/krb5/* lib/krb5/asn.1/* lib/krb5/krb/* \
        lib/krb5/ccache/* lib/krb5/ccache/ccapi/* \
        lib/krb5/error_tables/* \
-       lib/krb5/keytab/* lib/krb5/keytab/file/* lib/krb5/keytab/srvtab/* \
-       lib/krb5/os/* lib/krb5/posix/* lib/krb5/rcache/* \
-       util/* util/et/* util/profile/*
+       lib/krb5/keytab/* lib/krb5/os/* lib/krb5/posix/* lib/krb5/rcache/* \
+       lib/krb5/unicode/* lib/krb5/unicode/utbm/* lib/krb5/unicode/ure/* \
+       lib/krb5/unicode/ucdata/* \
+       util/* util/et/* util/profile/* util/support/*
 
 WINFILES= \
-    ccapi/common/* ccapi/common/win/* ccapi/common/win/OldCC/* \
-    ccapi/lib/* ccapi/lib/win/* ccapi/lib/win/OldCC/* \
-    ccapi/server/* ccapi/server/win/* \
-    ccapi\test\* \
-    util/windows/* windows/* windows/lib/* windows/cns/* \
-       windows/wintel/* windows/gss/* windows/gina/* windows/ms2mit/* \
-       windows/kfwlogon/*
+       ccapi/* ccapi/common/* ccapi/common/win/* ccapi/common/win/OldCC/* \
+       ccapi/lib/* ccapi/lib/win/* ccapi/lib/win/OldCC/* \
+       ccapi/server/* ccapi/server/win/* \
+       ccapi/test/* \
+       util/windows/* windows/* windows/wshelper/* windows/lib/* windows/cns/* \
+       windows/wintel/* windows/gina/* windows/ms2mit/* \
+       windows/kfwlogon/* windows/leashdll/* windows/leash/*
 
 WINBINARYFILES=        windows/*/*.ico windows/*/*.doc windows/*/*.hlp \
-       windows/*/*.hpj windows/lib/*.lib
+       windows/*/*.hpj
 
 #
 # Part of building the PC release has to be done on Unix. This includes
@@ -453,7 +393,7 @@ ETOUT =     \
        $(GK)gssapi_err_krb5.h $(GK)gssapi_err_krb5.c \
        $(CCL)ccapi_err.h $(CCL)ccapi_err.c
 
-HOUT = $(INC)krb5\krb5.h $(GG)gssapi.h $(PR)profile.h
+HOUT = $(INC)krb5/krb5.h $(GG)gssapi.h $(PR)profile.h
 
 CLEANUP= Makefile $(ETOUT) $(HOUT) \
        include/profile.h include/osconf.h \
@@ -546,10 +486,10 @@ $(CE)test1.c: $(AC) $(CE)test1.et
 $(CE)test2.c: $(AC) $(CE)test2.et
        $(AWK) -f $(AC) outfile=$@ $(CE)test2.et
 
-KRBHDEP = $(INC)krb5\krb5.hin $(INC)krb5_err.h $(INC)k5e1_err.h \
+KRBHDEP = $(INC)krb5/krb5.hin $(INC)krb5_err.h $(INC)k5e1_err.h \
        $(INC)kdb5_err.h $(INC)kv5m_err.h $(INC)krb524_err.h $(INC)asn1_err.h
 
-$(INC)krb5\krb5.h: $(KRBHDEP)
+$(INC)krb5/krb5.h: $(KRBHDEP)
        rm -f $@
        cat $(KRBHDEP) > $@
 $(PR)profile.h: $(PR)profile.hin $(PR)prof_err.h
@@ -581,6 +521,8 @@ distclean-windows:
        config\rm.bat $(KBINDIR)\*.dll $(KBINDIR)\*.exe
        @if exist $(KBINDIR)\nul rmdir $(KBINDIR)
 
+# Avoid using $(CP) here because the nul+ hack breaks implicit
+# destination filenames.
 install-windows::
        @if "$(KRB_INSTALL_DIR)"=="" @echo KRB_INSTALL_DIR is not defined!  Please define it.
        @if "$(KRB_INSTALL_DIR)"=="" @dir /b \nul\nul
@@ -591,31 +533,61 @@ install-windows::
        @if not exist "$(KRB_INSTALL_DIR)\include\gssapi\$(NULL)" @mkdir "$(KRB_INSTALL_DIR)\include\gssapi"
        @if not exist "$(KRB_INSTALL_DIR)\lib\$(NULL)" @mkdir "$(KRB_INSTALL_DIR)\lib"
        @if not exist "$(KRB_INSTALL_DIR)\bin\$(NULL)" @mkdir "$(KRB_INSTALL_DIR)\bin"
-       $(CP) include\krb5.h "$(KRB_INSTALL_DIR)\include\."
-       $(CP) include\krb5\krb5.h "$(KRB_INSTALL_DIR)\include\krb5\."
-       $(CP) include\win-mac.h "$(KRB_INSTALL_DIR)\include\."
-       $(CP) include\profile.h "$(KRB_INSTALL_DIR)\include\."
-       $(CP) include\com_err.h "$(KRB_INSTALL_DIR)\include\."
-       $(CP) include\gssapi\gssapi.h "$(KRB_INSTALL_DIR)\include\gssapi\."
-       $(CP) include\gssapi\gssapi_krb5.h "$(KRB_INSTALL_DIR)\include\gssapi\."
-       $(CP) lib\$(OUTPRE)*.lib "$(KRB_INSTALL_DIR)\lib\."
-       $(CP) lib\$(OUTPRE)*.dll "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) windows\cns\$(OUTPRE)krb5.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) windows\wintel\$(OUTPRE)telnet.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) windows\gss\$(OUTPRE)gss.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) appl\gss-sample\$(OUTPRE)gss-server.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) appl\gss-sample\$(OUTPRE)gss-client.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) windows\ms2mit\$(OUTPRE)ms2mit.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) appl\gssftp\ftp\$(OUTPRE)ftp.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) ccapi\lib\win\$(OUTPRE)ccapi.dll "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) ccapi\server\win\$(OUTPRE)ccapiserver.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) clients\kvno\$(OUTPRE)kvno.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) clients\klist\$(OUTPRE)klist.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) clients\kinit\$(OUTPRE)kinit.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) clients\kdestroy\$(OUTPRE)kdestroy.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) clients\kcpytkt\$(OUTPRE)kcpytkt.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) clients\kdeltkt\$(OUTPRE)kdeltkt.exe "$(KRB_INSTALL_DIR)\bin\."
-       $(CP) clients\kpasswd\$(OUTPRE)kpasswd.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy include\krb5.h "$(KRB_INSTALL_DIR)\include\."
+       copy include\krb5\krb5.h "$(KRB_INSTALL_DIR)\include\krb5\."
+       copy include\win-mac.h "$(KRB_INSTALL_DIR)\include\."
+       copy include\profile.h "$(KRB_INSTALL_DIR)\include\."
+       copy include\com_err.h "$(KRB_INSTALL_DIR)\include\."
+       copy include\gssapi\gssapi.h "$(KRB_INSTALL_DIR)\include\gssapi\."
+       copy include\gssapi\gssapi_alloc.h "$(KRB_INSTALL_DIR)\include\gssapi\."
+       copy include\gssapi\gssapi_krb5.h "$(KRB_INSTALL_DIR)\include\gssapi\."
+       copy include\gssapi\gssapi_ext.h "$(KRB_INSTALL_DIR)\include\gssapi\."
+       copy lib\$(OUTPRE)*.lib "$(KRB_INSTALL_DIR)\lib\."
+       copy lib\$(OUTPRE)*.dll "$(KRB_INSTALL_DIR)\bin\."
+       copy lib\$(OUTPRE)*.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy windows\cns\$(OUTPRE)krb5.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy windows\cns\$(OUTPRE)krb5.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy appl\gss-sample\$(OUTPRE)gss-server.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy appl\gss-sample\$(OUTPRE)gss-server.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy appl\gss-sample\$(OUTPRE)gss-client.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy appl\gss-sample\$(OUTPRE)gss-client.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy windows\ms2mit\$(OUTPRE)*.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy windows\ms2mit\$(OUTPRE)*.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy windows\leashdll\$(OUTPRE)*.lib "$(KRB_INSTALL_DIR)\lib\."
+       copy windows\leashdll\$(OUTPRE)*.dll "$(KRB_INSTALL_DIR)\bin\."
+       copy windows\leashdll\$(OUTPRE)*.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy windows\leash\$(OUTPRE)*.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy windows\leash\$(OUTPRE)*.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy windows\kfwlogon\$(OUTPRE)*.lib "$(KRB_INSTALL_DIR)\lib\."
+       copy windows\kfwlogon\$(OUTPRE)*.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy windows\kfwlogon\$(OUTPRE)*.dll "$(KRB_INSTALL_DIR)\bin\."
+       copy windows\kfwlogon\$(OUTPRE)*.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy util\windows\$(OUTPRE)*.lib $(KRB_INSTALL_DIR)\lib\."
+       copy util\wshelper\$(OUTPRE)$(DLIB).lib "$(KRB_INSTALL_DIR)\lib\."
+       copy util\wshelper\$(OUTPRE)$(DLIB).dll "$(KRB_INSTALL_DIR)\bin\."
+       copy util\wshelper\$(OUTPRE)$(DLIB).pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy ccapi\lib\win\srctmp\$(OUTPRE)$(CCLIB).dll "$(KRB_INSTALL_DIR)\bin\."
+       copy ccapi\lib\win\srctmp\$(OUTPRE)$(CCLIB).pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy ccapi\lib\win\srctmp\$(CCLIB).lib "$(KRB_INSTALL_DIR)\lib\."
+       copy ccapi\server\win\srctmp\$(OUTPRE)ccapiserver.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kvno\$(OUTPRE)kvno.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\klist\$(OUTPRE)klist.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kinit\$(OUTPRE)kinit.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kdestroy\$(OUTPRE)kdestroy.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kcpytkt\$(OUTPRE)kcpytkt.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kdeltkt\$(OUTPRE)kdeltkt.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kpasswd\$(OUTPRE)kpasswd.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kswitch\$(OUTPRE)kswitch.exe "$(KRB_INSTALL_DIR)\bin\."
+       copy ccapi\server\win\srctmp\$(OUTPRE)ccapiserver.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kvno\$(OUTPRE)kvno.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\klist\$(OUTPRE)klist.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kinit\$(OUTPRE)kinit.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kdestroy\$(OUTPRE)kdestroy.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kcpytkt\$(OUTPRE)kcpytkt.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kdeltkt\$(OUTPRE)kdeltkt.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kpasswd\$(OUTPRE)kpasswd.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy clients\kswitch\$(OUTPRE)kswitch.pdb "$(KRB_INSTALL_DIR)\bin\."
+       copy windows\leash\htmlhelp\*.chm "$(KRB_INSTALL_DIR)\bin\."
 
 install-unix:: 
        $(INSTALL_SCRIPT) krb5-config \
@@ -629,11 +601,14 @@ krb5-config: $(srcdir)/krb5-config.in config.status
 # $(PURE) or $(LDFLAGS) in case someone changes config/shlib.conf
 check-unix:: krb5-config
        $(SHELL) $(srcdir)/t_krbconf
-check-prerecurse: fake-install
+check-prerecurse: runenv.py
 
 # Create a test realm and spawn a shell in an environment pointing to it.
-testrealm: fake-install
-       PYTHONPATH=$(BUILDTOP):$(top_srcdir)/util $(PYTHON) $(srcdir)/util/testrealm.py
+# If CROSSNUM is set, create that many fully connected test realms and
+# point the shell at the first one.
+testrealm: runenv.py
+       PYTHONPATH=$(top_srcdir)/util $(PYTHON) $(srcdir)/util/testrealm.py \
+               $(CROSSNUM)
 
 # environment variable settings to propagate to Python-based tests
 
@@ -648,7 +623,7 @@ runenv.py: pyrunenv.vals
        cat pyrunenv.vals >> $@
 
 clean-unix::
-       $(RM) runenv.py pyrunenv.vals
+       $(RM) runenv.py runenv.pyc pyrunenv.vals
 
 COV_BUILD=     cov-build
 COV_ANALYZE=   cov-analyze
@@ -727,7 +702,10 @@ OTHEREXCLUDES = \
        include/k5-platform.h \
        include/gssrpc \
        lib/apputils/dummy.c \
+       lib/crypto/crypto_tests/camellia-test.c \
        lib/crypto/builtin/aes \
+       lib/crypto/builtin/camellia \
+       lib/crypto/builtin/sha2 \
        lib/gssapi/generic/gssapiP_generic.h \
        lib/gssapi/generic/gssapi_ext.h \
        lib/gssapi/krb5/gssapiP_krb5.h \
@@ -757,14 +735,23 @@ OTHEREXCLUDES = \
        util/et/com_err.h \
        util/profile/prof_int.h \
        util/profile/profile.hin \
-       util/profile/profile_tcl.c
+       util/profile/profile_tcl.c \
+       util/support/fnmatch.c \
+       util/verto \
+       util/k5ev \
+       util/wshelper
 
 EXCLUDES = `for i in $(BSDFILES) $(OTHEREXCLUDES); do echo $$i; done | $(AWK) '{ print "-path", $$1, "-o" }'` -path /dev/null
 
+FIND_REINDENT = cd $(top_srcdir) && \
+       $(FIND) $(INDENTDIRS) \( $(EXCLUDES) \) -prune -o \
+       \( -name '*.[ch]' -o -name '*.hin' -o -name '*.[ch].in' \)
+
+show-reindentfiles::
+       ($(FIND_REINDENT) -print)
+
 reindent::
-       (cd $(top_srcdir) && \
-       $(FIND) . \
-       \( -name '*.[ch]' -o -name '*.hin' -o -name '*.[ch].in' \) \
+       ($(FIND_REINDENT) \
        -print0 | $(XARGS) -0 $(EMACS) -q -batch \
        -l util/krb5-c-style.el \
        -l util/krb5-batch-reindent.el)
@@ -781,3 +768,8 @@ mark-cstyle-krb5::
 mark-cstyle-bsd::
        (cd $(top_srcdir) && $(FIND) $(BSDFILES) -print0 | $(XARGS) -0 \
        $(PYTHON) util/krb5-mark-cstyle.py --cstyle=bsd)
+
+check-copyright:
+       (cd $(top_srcdir) && \
+       $(FIND) . \( -name '*.[ch]' -o -name '*.hin' \) -print0 | \
+       $(XARGS) -0 python util/krb5-check-copyright.py)