diff options
author | Keith Vetter <keithv@fusion.com> | 1995-07-06 01:39:47 +0000 |
---|---|---|
committer | Keith Vetter <keithv@fusion.com> | 1995-07-06 01:39:47 +0000 |
commit | ad04b0224f8ba5209ca25ad3d94a24d0cf3dae06 (patch) | |
tree | 6ac5e2e057c1c05f099d6c4eedefc732a6aaa95b /src/Makefile | |
parent | c2e72b506ff5ea2b92f026be2bfaff1851c87432 (diff) | |
download | krb5-ad04b0224f8ba5209ca25ad3d94a24d0cf3dae06.tar.gz krb5-ad04b0224f8ba5209ca25ad3d94a24d0cf3dae06.tar.xz krb5-ad04b0224f8ba5209ca25ad3d94a24d0cf3dae06.zip |
Changes for Macintosh implementation
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6229 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/Makefile')
-rw-r--r-- | src/Makefile | 277 |
1 files changed, 273 insertions, 4 deletions
diff --git a/src/Makefile b/src/Makefile index f605e5a2e..8ddef48de 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,4 +1,273 @@ -all: - @echo Please read the build instructions in ../doc/HOW_TO_BUILD - @echo before proceeding. You will need to run ./configure with - @echo the appropriate arguments. +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) 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 + +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 + +.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.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\krb5\makefile.in >lib\gssapi\krb5\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.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. +# +ZIP=zip +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/* \ + windows/gss/* + +ZIPBINARYFILES=windows/cns/*.ico windows/wintel/*.ico windows/gss/*.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 WINDOWS/GSS/*.ICO \ + *.O *.A *.ZIP + +ZIPCLEANUP= util/profile/profile.h util/profile/prof_err.[ch] \ + 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 \ + include/krb5/asn1_err.h include/krb5/kdb5_err.h \ + include/krb5/krb5_err.h include/krb5/kv5m_err.h \ + include/krb5/adm_err.h include/profile.h \ + lib/gssapi/generic/gssapi_err_generic.[ch] \ + lib/gssapi/krb5/gssapi_err_krb5.[ch] + +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 + rm -f $(ZIPCLEANUP) + +# +# 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 |