1 CFLAGS = $(CCOPTS) $(DEFS)
8 DISTFILES = $(SRCS) $(HDRS) COPYING COPYING.LIB ChangeLog Makefile.in
14 all-windows:: makefile-windows
15 @echo Making in include
17 -$(MAKE) -$(MAKEFLAGS)
18 @echo Making in util\et
20 -$(MAKE) -$(MAKEFLAGS)
21 @echo Making in util\profile
23 -$(MAKE) -$(MAKEFLAGS)
26 -$(MAKE) -$(MAKEFLAGS)
27 @echo Making in windows
29 -$(MAKE) -$(MAKEFLAGS)
37 INSTALLMKDIRS = $(KRB5ROOT) $(KRB5MANROOT) $(KRB5OTHERMKDIRS) \
38 $(ADMIN_BINDIR) $(SERVER_BINDIR) $(CLIENT_BINDIR) \
39 $(ADMIN_MANDIR) $(SERVER_MANDIR) $(CLIENT_MANDIR) \
40 $(FILE_MANDIR) $(KRB5_LIBDIR) $(KRB5_INCDIR) \
43 install-unix:: install-mkdirs
46 @for i in $(INSTALLMKDIRS); do \
47 if test -d $(DESTDIR)$$i; then :; else (set -x; mkdir -p $(DESTDIR)$$i); fi ; \
51 # $(MAKE) $(MFLAGS) install.man
54 $(CC) -c $(CPPFLAGS) $(DEFS) -I$(srcdir) $(CFLAGS) $<
59 clean-:: clean-windows
60 clean-mac:: clean-unix
67 rm -f Makefile config.status
73 echo cpio-`sed -e '/version_string/!d' \
74 -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q version.c` > .fname
77 -ln $(DISTFILES) `cat .fname`
78 for file in $(DISTFILES); do \
79 test -r `cat .fname`/$$file || cp -p $$file `cat .fname`; \
81 tar chzf `cat .fname`.tar.gz `cat .fname`
82 rm -rf `cat .fname` .fname
87 if test ! -d $(PKGDIR); then mkdir $(PKGDIR); else true; fi
89 rm -rf $(PKGDIR)/install cns5-bin.tgz
90 mkdir $(PKGDIR)/install
91 $(MAKE) install DESTDIR=$(PKGDIR)/install
92 (cd $(PKGDIR)/install && tar cf - usr/cygnus) | $(GZIPPROG) > cns5-bin.tgz
93 rm -rf $(PKGDIR)/install
95 # Macintosh build process...
97 # Build all things for the Mac build, which need to be built on
100 (cd lib/krb5/error_tables; make -f Makefile.in unixmac)
101 (cd lib/gssapi/generic; make -f Makefile.in unixmac)
104 # Microsoft Windows build process...
107 config-windows:: makefile-windows
108 @echo Making in include
110 -$(MAKE) -$(MAKEFLAGS)
113 makefile-windows:: wconfig.exe config\pre.in config\post.in \
114 include\makefile.in include\krb5\makefile.in \
115 lib\makefile.in lib\crypto\makefile.in \
116 lib\crypto\crc32\makefile.in lib\crypto\des\makefile.in \
117 lib\crypto\sha\makefile.in \
118 lib\crypto\md4\makefile.in lib\crypto\md5\makefile.in \
119 lib\crypto\os\makefile.in lib\des425\makefile.in \
120 lib\gssapi\makefile.in lib\gssapi\generic\makefile.in \
121 lib\gssapi\krb5\makefile.in lib\gssapi\mechglue\makefile.in \
122 lib\krb5\makefile.in \
123 lib\krb5\asn.1\makefile.in lib\krb5\ccache\makefile.in \
124 lib\krb5\ccache\file\makefile.in \
125 lib\krb5\ccache\stdio\makefile.in \
126 lib\krb5\error_tables\makefile.in \
127 lib\krb5\free\makefile.in lib\krb5\keytab\makefile.in \
128 lib\krb5\keytab\file\makefile.in lib\krb5\krb\makefile.in \
129 lib\krb5\os\makefile.in lib\krb5\posix\makefile.in \
130 lib\krb5\rcache\makefile.in \
131 util\et\makefile.in util\profile\makefile.in \
132 windows\cns\Makefile.in windows\gss\Makefile.in \
133 windows\wintel\Makefile.in
134 .\wconfig config <makefile.in >makefile
135 .\wconfig config <include\makefile.in >include\makefile
136 .\wconfig config <include\krb5\makefile.in >include\krb5\makefile
137 .\wconfig config <lib\makefile.in >lib\makefile
138 .\wconfig config <lib\crypto\makefile.in >lib\crypto\makefile
139 .\wconfig config <lib\crypto\crc32\makefile.in >lib\crypto\crc32\makefile
140 .\wconfig config <lib\crypto\des\makefile.in >lib\crypto\des\makefile
141 .\wconfig config <lib\crypto\sha\makefile.in >lib\crypto\sha\makefile
142 .\wconfig config <lib\crypto\md4\makefile.in >lib\crypto\md4\makefile
143 .\wconfig config <lib\crypto\md5\makefile.in >lib\crypto\md5\makefile
144 .\wconfig config <lib\crypto\os\makefile.in >lib\crypto\os\makefile
145 .\wconfig config <lib\des425\makefile.in >lib\des425\makefile
146 .\wconfig config <lib\gssapi\makefile.in >lib\gssapi\makefile
147 .\wconfig config <lib\gssapi\generic\makefile.in >lib\gssapi\generic\makefile
148 .\wconfig config <lib\gssapi\mechglue\makefile.in >lib\gssapi\mechglue\makefile
149 .\wconfig config <lib\gssapi\krb5\makefile.in >lib\gssapi\krb5\makefile
150 .\wconfig config <lib\kadm\makefile.in >lib\kadm\makefile
151 .\wconfig config <lib\krb5\makefile.in >lib\krb5\makefile
152 .\wconfig config <lib\krb5\asn.1\makefile.in >lib\krb5\asn.1\makefile
153 .\wconfig config <lib\krb5\ccache\makefile.in >lib\krb5\ccache\makefile
154 .\wconfig config <lib\krb5\ccache\file\makefile.in >lib\krb5\ccache\file\makefile
155 .\wconfig config <lib\krb5\ccache\stdio\makefile.in >lib\krb5\ccache\stdio\makefile
156 .\wconfig config <lib\krb5\error_tables\makefile.in >lib\krb5\error_tables\makefile
157 .\wconfig config <lib\krb5\free\makefile.in >lib\krb5\free\makefile
158 .\wconfig config <lib\krb5\keytab\makefile.in >lib\krb5\keytab\makefile
159 .\wconfig config <lib\krb5\keytab\file\makefile.in >lib\krb5\keytab\file\makefile
160 .\wconfig config <lib\krb5\krb\makefile.in >lib\krb5\krb\makefile
161 .\wconfig config <lib\krb5\os\makefile.in >lib\krb5\os\makefile
162 .\wconfig config <lib\krb5\posix\makefile.in >lib\krb5\posix\makefile
163 .\wconfig config <lib\krb5\rcache\makefile.in >lib\krb5\rcache\makefile
164 .\wconfig config <util\et\makefile.in >util\et\makefile
165 .\wconfig config <util\profile\makefile.in >util\profile\makefile
166 .\wconfig < windows\cns\Makefile.in > windows\cns\Makefile
167 .\wconfig < windows\gss\Makefile.in > windows\gss\Makefile
168 .\wconfig < windows\wintel\Makefile.in > windows\wintel\Makefile
169 config\rm.bat wconfig.obj msvc.pdb
171 wconfig.exe: wconfig.c
176 @echo Making clean in include
178 -$(MAKE) -$(MAKEFLAGS) clean
179 @echo Making clean in util\et
181 -$(MAKE) -$(MAKEFLAGS) clean
182 @echo Making clean in util\profile
184 -$(MAKE) -$(MAKEFLAGS) clean
185 @echo Making clean in lib
187 -$(MAKE) -$(MAKEFLAGS) clean
188 @echo Making clean in windows
190 -$(MAKE) -$(MAKEFLAGS) clean
192 @echo Making clean in root
193 config\rm.bat *.obj msvc.pdb *.err wconfig.obj wconfig.exe
196 # Renames DOS 8.3 filenames back to their proper, longer names.
202 # Builds the file that distributes Kerberos sources for DOS and
203 # Macintosh sites from the source tree on Unix.
207 config/* include/* include/krb5/* include/krb5/asn.1/* \
208 include/krb5/stock/* include/sys/* lib/* lib/crypto/* \
209 lib/crypto/crc32/* lib/crypto/des/* lib/crypto/sha/* lib/crypto/md4/* \
210 lib/crypto/md5/* lib/crypto/os/* lib/des425/* lib/gssapi/* \
211 lib/gssapi/generic/* lib/gssapi/krb5/* lib/gssapi/mechglue/* \
212 lib/kadm/* lib/krb425/* \
213 lib/krb5/* lib/krb5/asn.1/* lib/krb5/krb/* \
214 lib/krb5/ccache/* lib/krb5/ccache/file/* \
215 lib/krb5/ccache/stdio/* lib/krb5/error_tables/* \
216 lib/krb5/free/* lib/krb5/keytab/* lib/krb5/keytab/file/* \
217 lib/krb5/os/* lib/krb5/posix/* lib/krb5/rcache/* util/et/* \
220 WINFILES= windows/* windows/cns/* windows/wintel/* windows/gss/*
222 MACFILES= mac/* mac/kconfig/* mac/libraries/* mac/telnet-k5-auth/* \
223 mac/gss-sample/* config/* include/* include/krb5/* \
224 include/krb5/asn.1/* include/krb5/stock/* include/sys/* \
227 WINBINARYFILES=windows/cns/*.ico windows/wintel/*.ico windows/gss/*.ico
229 CLEANUP= util/profile/profile.h util/profile/prof_err.[ch] \
230 lib/krb5/error_tables/asn1_err.c lib/krb5/error_tables/kdb5_err.c \
231 lib/krb5/error_tables/krb5_err.c lib/krb5/error_tables/kv5m_err.c \
232 lib/krb5/error_tables/adm_err.c \
233 include/asn1_err.h include/kdb5_err.h \
234 include/krb5_err.h include/kv5m_err.h \
235 include/adm_err.h include/profile.h include/krb5.h \
236 include/krb5/osconf.h \
237 lib/gssapi/generic/gssapi_err_generic.[ch] \
238 lib/gssapi/krb5/gssapi_err_krb5.[ch] winfile.list macfile.list
240 kerbsrc.win: kerbsrc.zip
243 echo $(FILES) $(WINFILES) | tr ' ' \\012 | \
244 sed -f config/winexclude.sed > winfile.list
246 MAC_SUBDIRS = lib util
248 /bin/sh mac/macfiles.sh $(MAC_SUBDIRS) > macfile.list
249 find $(MACFILES) -prune -type f -print | \
250 sed -f config/winexclude.sed >> macfile.list
254 mv Makefile Makefile.sav
255 cat config/windows.in Makefile.in config/win-post.in | \
256 sed -e 's/^##DOS//' > Makefile
258 kerbsrc.zip: Makefile.sav awk-windows-mac winfile.list
260 $(ZIP) -Dlk kerbsrc.zip `cat winfile.list`
261 $(ZIP) -Dk kerbsrc.zip $(WINBINARYFILES)
262 mv Makefile.sav Makefile
265 kerbsrc-nt.zip: Makefile.sav awk-windows-mac winfile.list
267 $(ZIP) -Dl kerbsrc-nt.zip `cat winfile.list`
268 $(ZIP) -D kerbsrc-nt.zip $(WINBINARYFILES)
269 mv Makefile.sav Makefile
272 dos-zipfiles: Makefile.sav awk-windows-mac winfile.list
274 $(ZIP) -Dlk kerbsrc.zip `cat winfile.list`
275 $(ZIP) -Dk kerbsrc.zip $(WINBINARYFILES)
277 $(ZIP) -Dl kerbsrc-nt.zip `cat winfile.list`
278 $(ZIP) -D kerbsrc-nt.zip $(WINBINARYFILES)
279 mv Makefile.sav Makefile
282 Macfile: macfile.list Makefile.sav
284 sed -e 's|/|:|g' -e 's/^/:/' -e '/:.:/d' -e '/:mac:/d' macfile.list > macfile.maclist
285 grep '\.c$$' macfile.maclist > macsrcsgss
286 grep -v ':gssapi:' macsrcsgss > macsrcsk5
287 echo SRCS = `cat macsrcsgss` >> Macfile
288 echo GSSOBJS68K = `sed 's/$$/.68K.o/' macsrcsgss` >> Macfile
289 echo GSSOBJSPPC = `sed 's/$$/.PPC.o/' macsrcsgss` >> Macfile
290 echo K5OBJS68K = `sed 's/$$/.68K.o/' macsrcsk5` >> Macfile
291 echo K5OBJSPPC = `sed 's/$$/.PPC.o/' macsrcsk5` >> Macfile
292 echo INCLUDES = `sed -n -e 's/\(.*:\)[^:]*\.h$$/-i \1/p' macfile.maclist | sort -u` >> Macfile
294 tr '/:\\' ':\304\266'< mac/Makefile.tmpl >> Macfile
296 kerbsrc.mac: awk-windows-mac macfile.list Macfile
297 cp mac/libraries/autoconf.h include/autoconf.h
299 tar cvf kerbsrc.tar Makefile include/autoconf.h `cat macfile.list`
301 rm -f include/autoconf.h Makefile macsrc* macfile.maclist
302 mv Makefile.sav Makefile
305 # Part of building the PC release has to be done on Unix. This includes
306 # anything the requires awk.
308 AH = util/et/et_h.awk
309 AC = util/et/et_c.awk
311 ET = lib/krb5/error_tables/
312 GG = lib/gssapi/generic/
313 GK = lib/gssapi/krb5/
317 gawk -f $(AH) outfile=$(INC)asn1_err.h $(ET)asn1_err.et
318 gawk -f $(AH) outfile=$(INC)kdb5_err.h $(ET)kdb5_err.et
319 gawk -f $(AH) outfile=$(INC)krb5_err.h $(ET)krb5_err.et
320 gawk -f $(AH) outfile=$(INC)kv5m_err.h $(ET)kv5m_err.et
321 gawk -f $(AH) outfile=$(INC)adm_err.h $(ET)adm_err.et
322 cat $(INC)/krb5.hin $(INC)/krb5_err.h $(INC)/kdb5_err.h \
323 $(INC)/kv5m_err.h $(INC)/asn1_err.h > $(INC)/krb5.h
324 gawk -f $(AC) outfile=$(ET)asn1_err.c $(ET)asn1_err.et
325 gawk -f $(AC) outfile=$(ET)kdb5_err.c $(ET)kdb5_err.et
326 gawk -f $(AC) outfile=$(ET)krb5_err.c $(ET)krb5_err.et
327 gawk -f $(AC) outfile=$(ET)kv5m_err.c $(ET)kv5m_err.et
328 gawk -f $(AC) outfile=$(ET)adm_err.c $(ET)adm_err.et
329 gawk -f $(AH) outfile=$(GG)gssapi_err_generic.h $(GG)gssapi_err_generic.et
330 gawk -f $(AC) outfile=$(GG)gssapi_err_generic.c $(GG)gssapi_err_generic.et
331 gawk -f $(AH) outfile=$(GK)gssapi_err_krb5.h $(GK)gssapi_err_krb5.et
332 gawk -f $(AC) outfile=$(GK)gssapi_err_krb5.c $(GK)gssapi_err_krb5.et
333 gawk -f $(AH) outfile=$(PR)prof_err.h $(PR)prof_err.et
334 gawk -f $(AC) outfile=$(PR)prof_err.c $(PR)prof_err.et
335 cat $(PR)/profile.hin $(PR)prof_err.h > $(PR)profile.h
336 cp $(PR)profile.h include/profile.h
337 cp $(INC)/krb5/stock/osconf.h $(INC)/krb5