CFLAGS = $(CCOPTS) $(DEFS) prefix = /usr/local exec_prefix = $(prefix) binprefix = manprefix = bindir = $(exec_prefix)/bin libdir = $(exec_prefix)/lib mandir = $(prefix)/man/man1 manext = 1 SRCS = HDRS = DISTFILES = $(SRCS) $(HDRS) COPYING COPYING.LIB ChangeLog Makefile.in all:: all-$(WHAT) all-unix:: all-mac:: all-: all-windows LIBCMD = lib all-windows:: makefile-windows @echo Making in include cd include -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD) @echo Making in util\et cd ..\util\et -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD) @echo Making in util\profile cd ..\profile -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD) @echo Making in lib cd ..\..\lib -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD) @echo Making in windows cd ..\windows -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD) cd .. world:: date make $(MFLAGS) mastermakefiles make $(MFLAGS) depend 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:: install-mkdirs depend:: includes install-mkdirs: @for i in $(INSTALLMKDIRS); do \ if test -d $(DESTDIR)$$i; then :; else (set -x; mkdir $(DESTDIR)$$i); fi \ done # install:: # $(MAKE) $(MFLAGS) install.man # rebuild the Makefiles in the master source tree mastermakefiles:: -$(MV) Makefile Makefile.bak $(MAKE) -f Makefile.bak Makefile $(MAKE) Makefiles .c.o: $(CC) -c $(CPPFLAGS) $(DEFS) -I$(srcdir) $(CFLAGS) $< TAGS: $(SRCS) etags $(SRCS) clean:: clean-$(WHAT) clean-:: clean-windows clean-mac:: clean-unix clean-unix:: $(RM) *.o core mostlyclean: clean 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 # 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 .. 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\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 .\wconfig config include\krb5\makefile .\wconfig config lib\makefile .\wconfig config lib\crypto\makefile .\wconfig config lib\crypto\crc32\makefile .\wconfig config lib\crypto\des\makefile .\wconfig config lib\crypto\md4\makefile .\wconfig config lib\crypto\md5\makefile .\wconfig config lib\crypto\os\makefile .\wconfig config lib\des425\makefile .\wconfig config lib\gssapi\makefile .\wconfig config lib\gssapi\generic\makefile .\wconfig config lib\gssapi\krb5\makefile .\wconfig config lib\krb5\makefile .\wconfig config lib\krb5\asn.1\makefile .\wconfig config lib\krb5\ccache\makefile .\wconfig config lib\krb5\ccache\file\makefile .\wconfig config lib\krb5\ccache\stdio\makefile .\wconfig config lib\krb5\error_ta\makefile .\wconfig config lib\krb5\free\makefile .\wconfig config lib\krb5\keytab\makefile .\wconfig config lib\krb5\keytab\file\makefile .\wconfig config lib\krb5\krb\makefile .\wconfig config lib\krb5\os\makefile .\wconfig config lib\krb5\posix\makefile .\wconfig config lib\krb5\rcache\makefile .\wconfig config util\et\makefile .\wconfig config util\profile\makefile config\rm.bat wconfig.obj msvc.pdb wconfig.exe: wconfig.c SET CL=/nologo $(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 zip file that distributes Kerberos sources for DOS sites # from the source tree on Unix. # ZIPFILES= ./* \ 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/krb425/* \ lib/krb5/* lib/krb5/asn.1/* lib/krb5/krb/* \ lib/krb5/ccache/* lib/krb5/ccache/file/* \ 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/* windows/* windows/cns/* windows/wintel/* ZIPBINARYFILES=windows/cns/*.ico windows/wintel/*.ico ZIPEXCLUDE= LIB/KRB5.SAB \ INCLUDE/KRB5/AUTOCONF.H \ LIB/CRYPTO/MD4/T_MDDRIV LIB/CRYPTO/MD5/T_MDDRIV \ UTIL/PROFILE/TEST_PAR UTIL/PROFILE/TEST_PRO \ WINDOWS/CNS/*.ICO WINDOWS/WINTEL/*.ICO \ *.O *.A kerbsrc.zip: awk-windows rm -f Makefile.bak mv Makefile Makefile.bak cp Makefile.in Makefile rm -f kerbsrc.zip zip -Dlk kerbsrc.zip $(ZIPFILES) -x $(ZIPEXCLUDE) zip -Dk kerbsrc.zip $(ZIPBINARYFILES) cp Makefile.bak Makefile # # Part of building the PC release has to be done on Unix. This includes # anything the requires awk. # AH = util/et/et_h.awk AC = util/et/et_c.awk INC = include/krb5/ ET = lib/krb5/error_tables/ GG = lib/gssapi/generic/ GK = lib/gssapi/krb5/ PR = util/profile/ awk-windows: 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 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 cat $(PR)/profile.hin $(PR)prof_err.h > $(PR)profile.h cp $(PR)profile.h include/profile.h