thisconfigdir=. BUILDTOP=$(REL)$(C) CFLAGS = $(CCOPTS) $(DEFS) ##DOS##BUILDTOP = . SRCS = HDRS = DISTFILES = $(SRCS) $(HDRS) COPYING COPYING.LIB ChangeLog Makefile.in all-unix:: all-mac:: all-windows:: makefile-windows @echo Making in util\windows cd util\windows -$(MAKE) -$(MAKEFLAGS) @echo Making in include cd ..\..\include -$(MAKE) -$(MAKEFLAGS) @echo Making in util\et cd ..\util\et -$(MAKE) -$(MAKEFLAGS) @echo Making in util\profile cd ..\profile -$(MAKE) -$(MAKEFLAGS) @echo Making in lib cd ..\..\lib -$(MAKE) -$(MAKEFLAGS) @echo Making in windows cd ..\windows -$(MAKE) -$(MAKEFLAGS) @echo Making in clients cd ..\clients -$(MAKE) -$(MAKEFLAGS) cd .. world:: date make $(MFLAGS) all date INSTALLMKDIRS = $(KRB5ROOT) $(KRB5MANROOT) $(KRB5OTHERMKDIRS) \ $(ADMIN_BINDIR) $(SERVER_BINDIR) $(CLIENT_BINDIR) \ $(ADMIN_MANDIR) $(SERVER_MANDIR) $(CLIENT_MANDIR) \ $(FILE_MANDIR) $(KRB5_LIBDIR) $(KRB5_INCDIR) \ $(KRB5_INCSUBDIRS) install-recurse: install-mkdirs install-mkdirs: @for i in $(INSTALLMKDIRS); do \ if test -d $(DESTDIR)$$i; then :; else (set -x; mkdir -p $(DESTDIR)$$i); fi ; \ done # install:: # $(MAKE) $(MFLAGS) install.man .c.o: $(CC) -c $(CPPFLAGS) $(DEFS) -I$(srcdir) $(CFLAGS) $< TAGS: $(SRCS) etags $(SRCS) clean-:: clean-windows clean-mac:: clean-unix clean-unix:: $(RM) *.o core mostlyclean: clean # This doesn't work; if you think you need it, you should use a # separate build directory. # # distclean: clean # rm -f Makefile config.status # # realclean: distclean # rm -f TAGS dist: $(DISTFILES) echo cpio-`sed -e '/version_string/!d' \ -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q version.c` > .fname rm -rf `cat .fname` mkdir `cat .fname` -ln $(DISTFILES) `cat .fname` for file in $(DISTFILES); do \ test -r `cat .fname`/$$file || cp -p $$file `cat .fname`; \ done tar chzf `cat .fname`.tar.gz `cat .fname` rm -rf `cat .fname` .fname GZIPPROG= gzip -9v PKGDIR=`pwd`/pkgdir pkgdir: if test ! -d $(PKGDIR); then mkdir $(PKGDIR); else true; fi tgz-bin: 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 rm -rf $(PKGDIR)/install # Macintosh build process... # Build all things for the Mac build, which need to be built on # Unix first. unixmac: (cd lib/krb5/error_tables; make -f Makefile.in unixmac) (cd lib/gssapi/generic; make -f Makefile.in unixmac) # Microsoft Windows build process... # config-windows:: makefile-windows @echo Making in include cd include -$(MAKE) -$(MAKEFLAGS) cd .. ##DOS##MKFDEP= wconfig.exe config\pre.in config\post.in \ ##DOS## config\windows.in config\win-post.in ##DOS##WCONFIG= .\wconfig $(WFLAGS) ##DOS##makefile-windows:: $(MKFDEP) makefile \ ##DOS## clients\makefile clients\kdestroy\makefile \ ##DOS## clients\kinit\makefile clients\klist\makefile \ ##DOS## include\makefile include\krb5\makefile \ ##DOS## lib\makefile lib\crypto\makefile \ ##DOS## lib\crypto\crc32\makefile lib\crypto\des\makefile \ ##DOS## lib\crypto\sha\makefile \ ##DOS## lib\crypto\md4\makefile lib\crypto\md5\makefile \ ##DOS## lib\crypto\os\makefile lib\des425\makefile \ ##DOS## lib\gssapi\makefile lib\gssapi\generic\makefile \ ##DOS## lib\gssapi\krb5\makefile lib\gssapi\mechglue\makefile \ ##DOS## lib\krb4\makefile lib\krb5\makefile \ ##DOS## lib\krb5\asn.1\makefile lib\krb5\ccache\makefile \ ##DOS## lib\krb5\ccache\file\makefile \ ##DOS## lib\krb5\ccache\stdio\makefile \ ##DOS## lib\krb5\ccache\memory\makefile \ ##DOS## lib\krb5\error_tables\makefile \ ##DOS## lib\krb5\keytab\makefile \ ##DOS## lib\krb5\keytab\file\makefile lib\krb5\krb\makefile \ ##DOS## lib\krb5\os\makefile lib\krb5\posix\makefile \ ##DOS## lib\krb5\rcache\makefile \ ##DOS## util\et\makefile util\profile\makefile \ ##DOS## util\windows\makefile \ ##DOS## windows\Makefile windows\lib\Makefile \ ##DOS## windows\cns\Makefile windows\gina\Makefile \ ##DOS## windows\gss\Makefile windows\wintel\Makefile ##DOS## config\rm.bat wconfig.obj msvc.pdb ##DOS##makefile: makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##clients\makefile: clients\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##clients\kdestroy\makefile: clients\kdestroy\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##clients\kinit\makefile: clients\kinit\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##clients\klist\makefile: clients\klist\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##include\makefile: include\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##include\krb5\makefile: include\krb5\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\makefile: lib\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\crypto\makefile: lib\crypto\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\crypto\crc32\makefile: lib\crypto\crc32\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\crypto\des\makefile: lib\crypto\des\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\crypto\sha\makefile: lib\crypto\sha\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\crypto\md4\makefile: lib\crypto\md4\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\crypto\md5\makefile: lib\crypto\md5\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\crypto\os\makefile: lib\crypto\os\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\des425\makefile: lib\des425\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\gssapi\makefile: lib\gssapi\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\gssapi\generic\makefile: lib\gssapi\generic\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\gssapi\mechglue\makefile: lib\gssapi\mechglue\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\gssapi\krb5\makefile: lib\gssapi\krb5\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb4\makefile: lib\krb4\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb5\makefile: lib\krb5\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb5\asn.1\makefile: lib\krb5\asn.1\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb5\ccache\makefile: lib\krb5\ccache\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb5\ccache\file\makefile: lib\krb5\ccache\file\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb5\ccache\stdio\makefile: lib\krb5\ccache\stdio\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb5\ccache\memory\makefile: lib\krb5\ccache\memory\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb5\error_tables\makefile: lib\krb5\error_tables\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb5\keytab\makefile: lib\krb5\keytab\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb5\keytab\file\makefile: lib\krb5\keytab\file\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb5\krb\makefile: lib\krb5\krb\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb5\os\makefile: lib\krb5\os\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb5\posix\makefile: lib\krb5\posix\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##lib\krb5\rcache\makefile: lib\krb5\rcache\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##util\et\makefile: util\et\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##util\profile\makefile: util\profile\makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##util\windows\makefile: util\windows\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) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##windows\cns\Makefile: windows\cns\Makefile.in $(MKFDEP) ##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\wintel\Makefile: windows\wintel\Makefile.in $(MKFDEP) ##DOS## $(WCONFIG) config < $@.in > $@ ##DOS##wconfig.exe: wconfig.c ##DOS## SET CL=/nologo ##DOS## $(CC) /AL wconfig.c clean-windows:: @echo Making clean in include cd include -$(MAKE) -$(MAKEFLAGS) clean @echo Making clean in util\et cd ..\util\et -$(MAKE) -$(MAKEFLAGS) clean @echo Making clean in util\profile cd ..\profile -$(MAKE) -$(MAKEFLAGS) clean @echo Making clean in lib cd ..\..\lib -$(MAKE) -$(MAKEFLAGS) clean @echo Making clean in windows cd ..\windows -$(MAKE) -$(MAKEFLAGS) clean cd .. @echo Making clean in root config\rm.bat *.obj msvc.pdb *.err wconfig.obj wconfig.exe # # Renames DOS 8.3 filenames back to their proper, longer names. # ren2long: -sh config/ren2long # # Builds the file that distributes Kerberos sources for DOS and # Macintosh sites from the source tree on Unix. # ZIP=zip FILES= ./* \ clients/* clients/kdestroy/* clients/kinit/* clients/klist/* \ config/* include/* include/kerberosIV/* \ include/krb5/* include/krb5/stock/* include/sys/* lib/* \ lib/crypto/* lib/crypto/crc32/* lib/crypto/des/* \ lib/crypto/sha/* lib/crypto/md4/* lib/crypto/md5/* lib/crypto/os/* \ lib/des425/* lib/gssapi/* lib/gssapi/generic/* lib/gssapi/krb5/* \ lib/gssapi/mechglue/* lib/krb4/* \ 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/keytab/* lib/krb5/keytab/file/* \ lib/krb5/os/* lib/krb5/posix/* lib/krb5/rcache/* \ util/et/* util/profile/* WINFILES= util/windows/* windows/* windows/lib/* windows/cns/* \ windows/wintel/* windows/gss/* windows/gina/* MACFILES= mac/* mac/kconfig/* mac/libraries/* mac/telnet-k5-auth/* \ mac/gss-sample/* mac/SAP/* config/* include/* \ include/krb5/* include/krb5/stock/* include/sys/* \ ./patchlevel.h MITWINFILES= mit/windows/include/* MITWINBINARYFILES= mit/windows/lib/* WINBINARYFILES= windows/*/*.ico windows/*/*.doc windows/*/*.hlp windows/*/*.hpj # # Part of building the PC release has to be done on Unix. This includes # anything the requires awk. # AWK = gawk AH = util/et/et_h.awk AC = util/et/et_c.awk INC = include/ ET = lib/krb5/error_tables/ GG = lib/gssapi/generic/ GK = lib/gssapi/krb5/ PR = util/profile/ ETOUT = $(INC)asn1_err.h $(ET)asn1_err.c \ $(INC)kdb5_err.h $(ET)kdb5_err.c \ $(INC)krb5_err.h $(ET)krb5_err.c \ $(INC)kv5m_err.h $(ET)kv5m_err.c \ $(INC)adm_err.h $(ET)adm_err.c \ $(INC)/kerberosIV/krb_err.h lib/krb4/krb_err.c \ $(PR)prof_err.h $(PR)prof_err.c \ $(GG)gssapi_err_generic.h $(GG)gssapi_err_generic.c \ $(GK)gssapi_err_krb5.h $(GK)gssapi_err_krb5.c HOUT = $(INC)krb5.h $(GG)gssapi.h $(PR)profile.h CLEANUP= Makefile $(ETOUT) $(HOUT) \ include/profile.h include/krb5/osconf.h \ winfile.list macfile.list mkbin.bat kerbsrc.win: kerbsrc.zip winfile.list: echo $(FILES) $(WINFILES) | tr ' ' \\012 | \ sed -f config/winexclude.sed > winfile.list if test -d mit ; then \ echo $(MITWINFILES) | tr ' ' \\012 | \ sed -f config/winexclude.sed >> winfile.list ; \ fi MAC_SUBDIRS = lib util macfile.list: /bin/sh mac/macfiles.sh $(MAC_SUBDIRS) > macfile.list find $(MACFILES) -prune -type f -print | \ sed -f config/winexclude.sed >> macfile.list dos-Makefile: cat config/windows.in Makefile.in config/win-post.in | \ sed -e 's/^##DOS##//' -e 's/^##DOS//' > Makefile cp windows/mkbin.bat . kerbsrc.zip: dos-Makefile awk-windows-mac winfile.list rm -f kerbsrc.zip $(ZIP) -Dlk kerbsrc.zip `cat winfile.list` $(ZIP) -Dk kerbsrc.zip $(WINBINARYFILES) if test -d mit ; then \ $(ZIP) -Dk kerbsrc.zip $(MITWINBINARYFILES) ; \ fi rm -f $(CLEANUP) kerbsrc-nt.zip: dos-Makefile awk-windows-mac winfile.list rm -f kerbsrc-nt.zip $(ZIP) -Dl kerbsrc-nt.zip `cat winfile.list` $(ZIP) -D kerbsrc-nt.zip $(WINBINARYFILES) if test -d mit ; then \ $(ZIP) -D kerbsrc-nt.zip $(MITWINBINARYFILES) ; \ fi rm -f $(CLEANUP) dos-zipfiles: dos-Makefile awk-windows-mac winfile.list rm -f kerbsrc.zip $(ZIP) -Dlk kerbsrc.zip `cat winfile.list` $(ZIP) -Dk kerbsrc.zip $(WINBINARYFILES) if test -d mit ; then \ $(ZIP) -Dk kerbsrc.zip $(MITWINBINARYFILES) ; \ fi rm -f kerbsrc-nt.zip $(ZIP) -Dl kerbsrc-nt.zip `cat winfile.list` $(ZIP) -D kerbsrc-nt.zip $(WINBINARYFILES) if test -d mit ; then \ $(ZIP) -D kerbsrc-nt.zip $(MITWINBINARYFILES) ; \ fi rm -f $(CLEANUP) Macfile: macfile.list rm -f Macfile sed -e 's|/|:|g' -e 's/^/:/' -e '/:.:/d' -e '/:mac:/d' macfile.list > macfile.maclist grep '\.c$$' macfile.maclist > macsrcsgss grep -v ':gssapi:' macsrcsgss > macsrcsk5 echo SRCS = `cat macsrcsgss` >> Macfile echo GSSOBJS68K = `sed -e 's/$$/.68K.o/' -e 's/.*://' \ -e 's/^/:bin:68K:/' macsrcsgss` >> Macfile echo GSSOBJS68KCFM = `sed -e 's/$$/.68K.o/' -e 's/.*://' \ -e 's/^/:bin:CFM-68K:/' macsrcsgss` >> Macfile echo GSSOBJSPPC = `sed -e 's/$$/.PPC.o/' -e 's/.*://' \ -e 's/^/:bin:PPC:/' macsrcsgss` >> Macfile echo K5OBJS68K = `sed -e 's/$$/.68K.o/' -e 's/.*://' \ -e 's/^/:bin:68K:/' macsrcsk5` >> Macfile echo K5OBJS68KCFM = `sed -e 's/$$/.68K.o/' -e 's/.*://' \ -e 's/^/:bin:CFM-68K:/' macsrcsk5` >> Macfile echo K5OBJSPPC = `sed -e 's/$$/.PPC.o/' -e 's/.*://' \ -e 's/^/:bin:PPC:/' macsrcsk5` >> 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 mac-bin-dirs: rm -rf bin mkdir bin bin/68K bin/CFM-68K bin/PPC sh mac/mkbindirs.sh bin/68K $(MAC_SUBDIRS) sh mac/mkbindirs.sh bin/CFM-68K $(MAC_SUBDIRS) sh mac/mkbindirs.sh bin/PPC $(MAC_SUBDIRS) kerbsrc.mac.tar: awk-windows-mac macfile.list mac-bin-dirs Macfile cp mac/libraries/autoconf.h include/autoconf.h mv Macfile Makefile tar cvf kerbsrc.mac.tar Makefile include/autoconf.h bin \ `cat macfile.list` rm -f $(CLEANUP) rm -rf bin rm -f include/autoconf.h Makefile macsrc* macfile.maclist $(INC)asn1_err.h: $(AH) $(ET)asn1_err.et $(AWK) -f $(AH) outfile=$@ $(ET)asn1_err.et $(INC)kdb5_err.h: $(AH) $(ET)kdb5_err.et $(AWK) -f $(AH) outfile=$@ $(ET)kdb5_err.et $(INC)krb5_err.h: $(AH) $(ET)krb5_err.et $(AWK) -f $(AH) outfile=$@ $(ET)krb5_err.et $(INC)kv5m_err.h: $(AH) $(ET)kv5m_err.et $(AWK) -f $(AH) outfile=$@ $(ET)kv5m_err.et $(INC)adm_err.h: $(AH) $(ET)adm_err.et $(AWK) -f $(AH) outfile=$@ $(ET)adm_err.et $(INC)/kerberosIV/krb_err.h: $(AH) lib/krb4/krb_err.et $(AWK) -f $(AH) outfile=$@ lib/krb4/krb_err.et $(PR)prof_err.h: $(AH) $(PR)prof_err.et $(AWK) -f $(AH) outfile=$@ $(PR)prof_err.et $(GG)gssapi_err_generic.h: $(AH) $(GG)gssapi_err_generic.et $(AWK) -f $(AH) outfile=$@ $(GG)gssapi_err_generic.et $(GK)gssapi_err_krb5.h: $(AH) $(GK)gssapi_err_krb5.et $(AWK) -f $(AH) outfile=$@ $(GK)gssapi_err_krb5.et $(ET)asn1_err.c: $(AC) $(ET)asn1_err.et $(AWK) -f $(AC) outfile=$@ $(ET)asn1_err.et $(ET)kdb5_err.c: $(AC) $(ET)kdb5_err.et $(AWK) -f $(AC) outfile=$@ $(ET)kdb5_err.et $(ET)krb5_err.c: $(AC) $(ET)krb5_err.et $(AWK) -f $(AC) outfile=$@ $(ET)krb5_err.et $(ET)kv5m_err.c: $(AC) $(ET)kv5m_err.et $(AWK) -f $(AC) outfile=$@ $(ET)kv5m_err.et $(ET)adm_err.c: $(AC) $(ET)adm_err.et $(AWK) -f $(AC) outfile=$@ $(ET)adm_err.et lib/krb4/krb_err.c: $(AC) lib/krb4/krb_err.et $(AWK) -f $(AC) outfile=$@ lib/krb4/krb_err.et $(PR)prof_err.c: $(AC) $(PR)prof_err.et $(AWK) -f $(AC) outfile=$@ $(PR)prof_err.et $(GG)gssapi_err_generic.c: $(AC) $(GG)gssapi_err_generic.et $(AWK) -f $(AC) outfile=$@ $(GG)gssapi_err_generic.et $(GK)gssapi_err_krb5.c: $(AC) $(GK)gssapi_err_krb5.et $(AWK) -f $(AC) outfile=$@ $(GK)gssapi_err_krb5.et KRBHDEP = $(INC)krb5.hin $(INC)krb5_err.h $(INC)kdb5_err.h \ $(INC)kv5m_err.h $(INC)asn1_err.h $(INC)krb5.h: $(KRBHDEP) rm -f $@ cat $(KRBHDEP) > $@ $(PR)profile.h: $(PR)profile.hin $(PR)prof_err.h rm -f $@ cat $(PR)profile.hin $(PR)prof_err.h > $@ $(GG)gssapi.h: $(GG)gssapi.hin rm -f $@ cat $(GG)gssapi.hin > $@ awk-windows-mac: $(ETOUT) $(HOUT) clean-windows-mac: rm -f $(CLEANUP)