1 CFLAGS = $(CCOPTS) $(DEFS)
6 DISTFILES = $(SRCS) $(HDRS) COPYING COPYING.LIB ChangeLog Makefile.in
17 all-windows:: makefile-windows
18 @echo Making in include
20 -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
21 @echo Making in util\et
23 -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
24 @echo Making in util\profile
26 -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
29 -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
30 @echo Making in windows
32 -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
40 INSTALLMKDIRS = $(INSTALL_PREFIX) $(KRB5MANROOT) $(KRB5OTHERMKDIRS) \
41 $(ADMIN_BINDIR) $(SERVER_BINDIR) $(CLIENT_BINDIR) \
42 $(ADMIN_MANDIR) $(SERVER_MANDIR) $(CLIENT_MANDIR) \
43 $(FILE_MANDIR) $(KRB5_LIBDIR) $(KRB5_INCDIR) \
46 install:: install-mkdirs
49 @for i in $(INSTALLMKDIRS); do \
50 if test -d $(DESTDIR)$$i; then :; else (set -x; mkdir $(DESTDIR)$$i); fi \
54 # $(MAKE) $(MFLAGS) install.man
57 $(CC) -c $(CPPFLAGS) $(DEFS) -I$(srcdir) $(CFLAGS) $<
64 clean-:: clean-windows
65 clean-mac:: clean-unix
72 rm -f Makefile config.status
78 echo cpio-`sed -e '/version_string/!d' \
79 -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q version.c` > .fname
82 -ln $(DISTFILES) `cat .fname`
83 for file in $(DISTFILES); do \
84 test -r `cat .fname`/$$file || cp -p $$file `cat .fname`; \
86 tar chzf `cat .fname`.tar.gz `cat .fname`
87 rm -rf `cat .fname` .fname
89 # Macintosh build process...
91 # Build all things for the Mac build, which need to be built on
94 (cd lib/krb5/error_tables; make -f Makefile.in unixmac)
95 (cd lib/gssapi/generic; make -f Makefile.in unixmac)
98 # Microsoft Windows build process...
101 config-windows:: makefile-windows
102 @echo Making in include
104 -$(MAKE) -$(MAKEFLAGS)
107 makefile-windows:: wconfig.exe config\pre.in config\post.in \
108 include\makefile.in include\krb5\makefile.in \
109 lib\makefile.in lib\crypto\makefile.in \
110 lib\crypto\crc32\makefile.in lib\crypto\des\makefile.in \
111 lib\crypto\md4\makefile.in lib\crypto\md5\makefile.in \
112 lib\crypto\os\makefile.in \
113 lib\gssapi\makefile.in lib\gssapi\generic\makefile.in \
114 lib\kadm\makefile.in \
115 lib\gssapi\krb5\makefile.in lib\krb5\makefile.in \
116 lib\krb5\asn.1\makefile.in lib\krb5\ccache\makefile.in \
117 lib\krb5\ccache\file\makefile.in \
118 lib\krb5\ccache\stdio\makefile.in \
119 lib\krb5\error_ta\makefile.in \
120 lib\krb5\free\makefile.in lib\krb5\keytab\makefile.in \
121 lib\krb5\keytab\file\makefile.in lib\krb5\krb\makefile.in \
122 lib\krb5\os\makefile.in lib\krb5\posix\makefile.in \
123 lib\krb5\rcache\makefile.in \
124 util\et\makefile.in util\profile\makefile.in
125 type makefile.in >makefile
126 .\wconfig config <include\makefile.in >include\makefile
127 .\wconfig config <include\krb5\makefile.in >include\krb5\makefile
128 .\wconfig config <lib\makefile.in >lib\makefile
129 .\wconfig config <lib\crypto\makefile.in >lib\crypto\makefile
130 .\wconfig config <lib\crypto\crc32\makefile.in >lib\crypto\crc32\makefile
131 .\wconfig config <lib\crypto\des\makefile.in >lib\crypto\des\makefile
132 .\wconfig config <lib\crypto\md4\makefile.in >lib\crypto\md4\makefile
133 .\wconfig config <lib\crypto\md5\makefile.in >lib\crypto\md5\makefile
134 .\wconfig config <lib\crypto\os\makefile.in >lib\crypto\os\makefile
135 .\wconfig config <lib\gssapi\makefile.in >lib\gssapi\makefile
136 .\wconfig config <lib\gssapi\generic\makefile.in >lib\gssapi\generic\makefile
137 .\wconfig config <lib\gssapi\krb5\makefile.in >lib\gssapi\krb5\makefile
138 .\wconfig config <lib\kadm\makefile.in >lib\kadm\makefile
139 .\wconfig config <lib\krb5\makefile.in >lib\krb5\makefile
140 .\wconfig config <lib\krb5\asn.1\makefile.in >lib\krb5\asn.1\makefile
141 .\wconfig config <lib\krb5\ccache\makefile.in >lib\krb5\ccache\makefile
142 .\wconfig config <lib\krb5\ccache\file\makefile.in >lib\krb5\ccache\file\makefile
143 .\wconfig config <lib\krb5\ccache\stdio\makefile.in >lib\krb5\ccache\stdio\makefile
144 .\wconfig config <lib\krb5\error_ta\makefile.in >lib\krb5\error_ta\makefile
145 .\wconfig config <lib\krb5\free\makefile.in >lib\krb5\free\makefile
146 .\wconfig config <lib\krb5\keytab\makefile.in >lib\krb5\keytab\makefile
147 .\wconfig config <lib\krb5\keytab\file\makefile.in >lib\krb5\keytab\file\makefile
148 .\wconfig config <lib\krb5\krb\makefile.in >lib\krb5\krb\makefile
149 .\wconfig config <lib\krb5\os\makefile.in >lib\krb5\os\makefile
150 .\wconfig config <lib\krb5\posix\makefile.in >lib\krb5\posix\makefile
151 .\wconfig config <lib\krb5\rcache\makefile.in >lib\krb5\rcache\makefile
152 .\wconfig config <util\et\makefile.in >util\et\makefile
153 .\wconfig config <util\profile\makefile.in >util\profile\makefile
154 config\rm.bat wconfig.obj msvc.pdb
156 wconfig.exe: wconfig.c
161 @echo Making clean in include
163 -$(MAKE) -$(MAKEFLAGS) clean
164 @echo Making clean in util\et
166 -$(MAKE) -$(MAKEFLAGS) clean
167 @echo Making clean in util\profile
169 -$(MAKE) -$(MAKEFLAGS) clean
170 @echo Making clean in lib
172 -$(MAKE) -$(MAKEFLAGS) clean
173 @echo Making clean in windows
175 -$(MAKE) -$(MAKEFLAGS) clean
177 @echo Making clean in root
178 config\rm.bat *.obj msvc.pdb *.err wconfig.obj wconfig.exe
181 # Renames DOS 8.3 filenames back to their proper, longer names.
187 # Builds the zip file that distributes Kerberos sources for DOS sites
188 # from the source tree on Unix.
192 config/* include/* include/krb5/* include/krb5/asn.1/* \
193 include/krb5/stock/* include/sys/* lib/* lib/crypto/* \
194 lib/crypto/crc32/* lib/crypto/des/* lib/crypto/md4/* \
195 lib/crypto/md5/* lib/crypto/os/* lib/gssapi/* \
196 lib/gssapi/generic/* lib/gssapi/krb5/* lib/kadm/* \
197 lib/krb5/* lib/krb5/asn.1/* lib/krb5/krb/* \
198 lib/krb5/ccache/* lib/krb5/ccache/file/* \
199 lib/krb5/ccache/stdio/* lib/krb5/error_tables/* \
200 lib/krb5/free/* lib/krb5/keytab/* lib/krb5/keytab/file/* \
201 lib/krb5/os/* lib/krb5/posix/* lib/krb5/rcache/* util/et/* \
202 util/profile/* windows/* windows/cns/* windows/wintel/* \
205 ZIPBINARYFILES=windows/cns/*.ico windows/wintel/*.ico windows/gss/*.ico
207 ZIPEXCLUDE= LIB/KRB5.SAB \
208 INCLUDE/KRB5/AUTOCONF.H \
209 LIB/CRYPTO/MD4/T_MDDRIV LIB/CRYPTO/MD5/T_MDDRIV \
210 UTIL/PROFILE/TEST_PAR UTIL/PROFILE/TEST_PRO \
211 WINDOWS/CNS/*.ICO WINDOWS/WINTEL/*.ICO WINDOWS/GSS/*.ICO \
214 ZIPLONGEXCLUDE= lib/krb5.sab \
215 include/krb5/autoconf.h \
216 lib/crypto/md4/t_mddriv lib/crypto/md5/t_mddriv \
217 util/profile/test_par util/profile/test_pro \
218 windows/cns/*.ico windows/wintel/*.ico windows/gss/*.ico \
221 ZIPCLEANUP= util/profile/profile.h util/profile/prof_err.[ch] \
222 lib/krb5/error_tables/asn1_err.c lib/krb5/error_tables/kdb5_err.c \
223 lib/krb5/error_tables/krb5_err.c lib/krb5/error_tables/kv5m_err.c \
224 lib/krb5/error_tables/adm_err.c \
225 include/krb5/asn1_err.h include/krb5/kdb5_err.h \
226 include/krb5/krb5_err.h include/krb5/kv5m_err.h \
227 include/krb5/adm_err.h include/profile.h include/krb5.h \
228 lib/gssapi/generic/gssapi_err_generic.[ch] \
229 lib/gssapi/krb5/gssapi_err_krb5.[ch]
231 kerbsrc.zip: awk-windows
233 mv Makefile Makefile.bak
234 cp Makefile.in Makefile
236 $(ZIP) -Dlk kerbsrc.zip $(ZIPFILES) -x $(ZIPEXCLUDE)
237 $(ZIP) -Dk kerbsrc.zip $(ZIPBINARYFILES)
238 cp Makefile.bak Makefile
241 kerbsrc-nt.zip: awk-windows
243 mv Makefile Makefile.bak
244 cp Makefile.in Makefile
246 $(ZIP) -Dl kerbsrc-nt.zip $(ZIPFILES) -x $(ZIPLONGEXCLUDE)
247 $(ZIP) -D kerbsrc-nt.zip $(ZIPBINARYFILES)
248 cp Makefile.bak Makefile
252 # Part of building the PC release has to be done on Unix. This includes
253 # anything the requires awk.
255 AH = util/et/et_h.awk
256 AC = util/et/et_c.awk
259 ET = lib/krb5/error_tables/
260 GG = lib/gssapi/generic/
261 GK = lib/gssapi/krb5/
265 gawk -f $(AH) outfile=$(INC)asn1_err.h $(ET)asn1_err.et
266 gawk -f $(AH) outfile=$(INC)kdb5_err.h $(ET)kdb5_err.et
267 gawk -f $(AH) outfile=$(INC)krb5_err.h $(ET)krb5_err.et
268 gawk -f $(AH) outfile=$(INC)kv5m_err.h $(ET)kv5m_err.et
269 gawk -f $(AH) outfile=$(INC)adm_err.h $(ET)adm_err.et
270 gawk -f $(AC) outfile=$(ET)asn1_err.c $(ET)asn1_err.et
271 gawk -f $(AC) outfile=$(ET)kdb5_err.c $(ET)kdb5_err.et
272 gawk -f $(AC) outfile=$(ET)krb5_err.c $(ET)krb5_err.et
273 gawk -f $(AC) outfile=$(ET)kv5m_err.c $(ET)kv5m_err.et
274 gawk -f $(AC) outfile=$(ET)adm_err.c $(ET)adm_err.et
275 gawk -f $(AH) outfile=$(GG)gssapi_err_generic.h $(GG)gssapi_err_generic.et
276 gawk -f $(AC) outfile=$(GG)gssapi_err_generic.c $(GG)gssapi_err_generic.et
277 gawk -f $(AH) outfile=$(GK)gssapi_err_krb5.h $(GK)gssapi_err_krb5.et
278 gawk -f $(AC) outfile=$(GK)gssapi_err_krb5.c $(GK)gssapi_err_krb5.et
279 gawk -f $(AH) outfile=$(PR)prof_err.h $(PR)prof_err.et
280 gawk -f $(AC) outfile=$(PR)prof_err.c $(PR)prof_err.et
281 cat $(PR)/profile.hin $(PR)prof_err.h > $(PR)profile.h
282 cat $(IN)/krb5.hin $(INC)/krb5_err.h $(INC)/kdb5_err.h \
283 $(INC)/kv5m_err.h $(INC)/asn1_err.h > $(IN)/krb5.h