Build kpasswd under windows
[krb5.git] / src / Makefile.in
1 thisconfigdir=.
2 myfulldir=.
3 mydir=.
4 MY_SUBDIRS=util include lib @krb524@ kdc kadmin slave clients appl tests \
5         config-files gen-manpages
6 BUILDTOP=$(REL)$(C)
7 CFLAGS = $(CCOPTS) $(DEFS)
8
9 ##DOS##BUILDTOP = .
10
11 SRCS =  
12 HDRS = 
13
14 DISTFILES = $(SRCS) $(HDRS) COPYING COPYING.LIB ChangeLog Makefile.in
15
16 all-unix::
17
18 all-mac::
19
20 all-windows:: Makefile-windows
21         @echo Making in util
22         cd util
23         $(MAKE) -$(MFLAGS)
24         @echo Making in include
25         cd ..\include
26         $(MAKE) -$(MFLAGS) 
27         @echo Making in lib
28         cd ..\lib
29         $(MAKE) -$(MFLAGS) 
30         @echo Making in windows
31         cd ..\windows
32         $(MAKE) -$(MFLAGS) 
33         @echo Making in clients
34         cd ..\clients
35         $(MAKE) -$(MFLAGS)
36         cd ..
37
38 world::
39         date
40         make $(MFLAGS) all
41         date
42
43 INSTALLMKDIRS = $(KRB5ROOT) $(KRB5MANROOT) $(KRB5OTHERMKDIRS) \
44                 $(ADMIN_BINDIR) $(SERVER_BINDIR) $(CLIENT_BINDIR) \
45                 $(ADMIN_MANDIR) $(SERVER_MANDIR) $(CLIENT_MANDIR) \
46                 $(FILE_MANDIR) $(KRB5_LIBDIR) $(KRB5_INCDIR) \
47                 $(KRB5_INCSUBDIRS)
48
49 install-recurse: install-mkdirs
50
51 install-mkdirs:
52         @for i in $(INSTALLMKDIRS); do \
53                 $(srcdir)/config/mkinstalldirs $(DESTDIR)$$i; \
54         done
55
56 # install::
57 #       $(MAKE) $(MFLAGS) install.man
58
59 .c.o:
60         $(CC) -c $(CPPFLAGS) $(DEFS) -I$(srcdir) $(CFLAGS) $<
61
62 TAGS: $(SRCS)
63         etags $(SRCS)
64
65 clean-:: clean-windows
66 clean-mac:: clean-unix
67 clean-unix::
68         $(RM) *.o core
69
70 mostlyclean: clean
71
72 # This doesn't work; if you think you need it, you should use a
73 # separate build directory.
74
75 # distclean: clean
76 #       rm -f Makefile config.status
77
78 # realclean: distclean
79 #       rm -f TAGS
80
81 dist: $(DISTFILES)
82         echo cpio-`sed -e '/version_string/!d' \
83         -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q version.c` > .fname
84         rm -rf `cat .fname`
85         mkdir `cat .fname`
86         -ln $(DISTFILES) `cat .fname`
87         for file in $(DISTFILES); do \
88           test -r `cat .fname`/$$file || cp -p $$file `cat .fname`; \
89         done
90         tar chzf `cat .fname`.tar.gz `cat .fname`
91         rm -rf `cat .fname` .fname
92
93 GZIPPROG= gzip -9v
94 PKGDIR=`pwd`/pkgdir
95 pkgdir:
96         if test ! -d $(PKGDIR); then mkdir $(PKGDIR); else true; fi
97 tgz-bin: pkgdir
98         rm -rf $(PKGDIR)/install cns5-bin.tgz
99         mkdir $(PKGDIR)/install
100         $(MAKE) install DESTDIR=$(PKGDIR)/install
101         (cd $(PKGDIR)/install && tar cf - usr/cygnus) | $(GZIPPROG) > cns5-bin.tgz
102         rm -rf $(PKGDIR)/install
103
104 # Macintosh build process...
105
106 # Build all things for the Mac build, which need to be built on
107 # Unix first.
108 unixmac:
109         (cd lib/krb5/error_tables; make -f Makefile.in unixmac)
110         (cd lib/gssapi/generic; make -f Makefile.in unixmac)
111
112
113 # Microsoft Windows build process...
114 #
115
116 config-windows:: Makefile-windows
117 #       @echo Making in include
118 #       cd include
119 #       $(MAKE) -$(MFLAGS)
120 #       cd ..
121
122 #
123 # We need outpre-dir explicitly in here because we may
124 # try to build wconfig on a config-windows.
125 #
126 ##DOS##$(WCONFIG_EXE): outpre-dir wconfig.c
127 ##DOS## $(CC) -Fe$@ -Fo$*.obj wconfig.c
128
129 ##DOS##MKFDEP=$(WCONFIG_EXE) config\win-pre.in config\win-post.in
130
131 WINMAKEFILES=Makefile \
132         clients\Makefile clients\kdestroy\Makefile \
133         clients\kinit\Makefile clients\klist\Makefile \
134         clients\kpasswd\Makefile \
135         include\Makefile include\krb5\Makefile \
136         lib\Makefile lib\crypto\Makefile \
137         lib\crypto\crc32\Makefile lib\crypto\des\Makefile \
138         lib\crypto\dk\Makefile lib\crypto\enc_provider\Makefile \
139         lib\crypto\hash_provider\Makefile \
140         lib\crypto\keyhash_provider\Makefile \
141         lib\crypto\raw\Makefile lib\crypto\old\Makefile \
142         lib\crypto\sha1\Makefile \
143         lib\crypto\md4\Makefile lib\crypto\md5\Makefile \
144         lib\des425\Makefile \
145         lib\gssapi\Makefile lib\gssapi\generic\Makefile \
146         lib\gssapi\krb5\Makefile lib\gssapi\mechglue\Makefile \
147         lib\krb4\Makefile lib\krb5\Makefile \
148         lib\krb5\asn.1\Makefile lib\krb5\ccache\Makefile \
149         lib\krb5\ccache\file\Makefile \
150         lib\krb5\ccache\stdio\Makefile \
151         lib\krb5\ccache\memory\Makefile \
152         lib\krb5\ccache\ccapi\Makefile \
153         lib\krb5\error_tables\Makefile \
154         lib\krb5\keytab\Makefile \
155         lib\krb5\keytab\file\Makefile \
156         lib\krb5\keytab\srvtab\Makefile \
157         lib\krb5\krb\Makefile \
158         lib\krb5\os\Makefile lib\krb5\posix\Makefile \
159         lib\krb5\rcache\Makefile \
160         util\Makefile \
161         util\et\Makefile util\profile\Makefile \
162         util\windows\Makefile \
163         windows\Makefile windows\lib\Makefile \
164         windows\cns\Makefile windows\gina\Makefile \
165         windows\gss\Makefile windows\wintel\Makefile
166
167 ##DOS##Makefile-windows:: $(MKFDEP) $(WINMAKEFILES)
168
169 ##DOS##Makefile: Makefile.in $(MKFDEP)
170 ##DOS## $(WCONFIG) config < $@.in > $@
171 ##DOS##clients\Makefile: clients\Makefile.in $(MKFDEP)
172 ##DOS## $(WCONFIG) config < $@.in > $@
173 ##DOS##clients\kdestroy\Makefile: clients\kdestroy\Makefile.in $(MKFDEP)
174 ##DOS## $(WCONFIG) config < $@.in > $@
175 ##DOS##clients\kinit\Makefile: clients\kinit\Makefile.in $(MKFDEP)
176 ##DOS## $(WCONFIG) config < $@.in > $@
177 ##DOS##clients\klist\Makefile: clients\klist\Makefile.in $(MKFDEP)
178 ##DOS## $(WCONFIG) config < $@.in > $@
179 ##DOS##clients\kpasswd\Makefile: clients\kpasswd\Makefile.in $(MKFDEP)
180 ##DOS## $(WCONFIG) config < $@.in > $@
181 ##DOS##include\Makefile: include\Makefile.in $(MKFDEP)
182 ##DOS## $(WCONFIG) config < $@.in > $@
183 ##DOS##include\krb5\Makefile: include\krb5\Makefile.in $(MKFDEP)
184 ##DOS## $(WCONFIG) config < $@.in > $@
185 ##DOS##lib\Makefile: lib\Makefile.in $(MKFDEP)
186 ##DOS## $(WCONFIG) config < $@.in > $@
187 ##DOS##lib\crypto\Makefile: lib\crypto\Makefile.in $(MKFDEP)
188 ##DOS## $(WCONFIG) config < $@.in > $@
189 ##DOS##lib\crypto\crc32\Makefile: lib\crypto\crc32\Makefile.in $(MKFDEP)
190 ##DOS## $(WCONFIG) config < $@.in > $@
191 ##DOS##lib\crypto\des\Makefile: lib\crypto\des\Makefile.in $(MKFDEP)
192 ##DOS## $(WCONFIG) config < $@.in > $@
193 ##DOS##lib\crypto\dk\Makefile: lib\crypto\dk\Makefile.in $(MKFDEP)
194 ##DOS## $(WCONFIG) config < $@.in > $@
195 ##DOS##lib\crypto\enc_provider\Makefile: lib\crypto\enc_provider\Makefile.in $(MKFDEP)
196 ##DOS## $(WCONFIG) config < $@.in > $@
197 ##DOS##lib\crypto\hash_provider\Makefile: lib\crypto\hash_provider\Makefile.in $(MKFDEP)
198 ##DOS## $(WCONFIG) config < $@.in > $@
199 ##DOS##lib\crypto\keyhash_provider\Makefile: lib\crypto\keyhash_provider\Makefile.in $(MKFDEP)
200 ##DOS## $(WCONFIG) config < $@.in > $@
201 ##DOS##lib\crypto\sha1\Makefile: lib\crypto\sha1\Makefile.in $(MKFDEP)
202 ##DOS## $(WCONFIG) config < $@.in > $@
203 ##DOS##lib\crypto\md4\Makefile: lib\crypto\md4\Makefile.in $(MKFDEP)
204 ##DOS## $(WCONFIG) config < $@.in > $@
205 ##DOS##lib\crypto\md5\Makefile: lib\crypto\md5\Makefile.in $(MKFDEP)
206 ##DOS## $(WCONFIG) config < $@.in > $@
207 ##DOS##lib\crypto\old\Makefile: lib\crypto\old\Makefile.in $(MKFDEP)
208 ##DOS## $(WCONFIG) config < $@.in > $@
209 ##DOS##lib\crypto\raw\Makefile: lib\crypto\raw\Makefile.in $(MKFDEP)
210 ##DOS## $(WCONFIG) config < $@.in > $@
211 ##DOS##lib\des425\Makefile: lib\des425\Makefile.in $(MKFDEP)
212 ##DOS## $(WCONFIG) config < $@.in > $@
213 ##DOS##lib\gssapi\Makefile: lib\gssapi\Makefile.in $(MKFDEP)
214 ##DOS## $(WCONFIG) config < $@.in > $@
215 ##DOS##lib\gssapi\generic\Makefile: lib\gssapi\generic\Makefile.in $(MKFDEP)
216 ##DOS## $(WCONFIG) config < $@.in > $@
217 ##DOS##lib\gssapi\mechglue\Makefile: lib\gssapi\mechglue\Makefile.in $(MKFDEP)
218 ##DOS## $(WCONFIG) config < $@.in > $@
219 ##DOS##lib\gssapi\krb5\Makefile: lib\gssapi\krb5\Makefile.in $(MKFDEP)
220 ##DOS## $(WCONFIG) config < $@.in > $@
221 ##DOS##lib\krb4\Makefile: lib\krb4\Makefile.in $(MKFDEP)
222 ##DOS## $(WCONFIG) config < $@.in > $@
223 ##DOS##lib\krb5\Makefile: lib\krb5\Makefile.in $(MKFDEP)
224 ##DOS## $(WCONFIG) config < $@.in > $@
225 ##DOS##lib\krb5\asn.1\Makefile: lib\krb5\asn.1\Makefile.in $(MKFDEP)
226 ##DOS## $(WCONFIG) config < $@.in > $@
227 ##DOS##lib\krb5\ccache\Makefile: lib\krb5\ccache\Makefile.in $(MKFDEP)
228 ##DOS## $(WCONFIG) config < $@.in > $@
229 ##DOS##lib\krb5\ccache\file\Makefile: lib\krb5\ccache\file\Makefile.in $(MKFDEP)
230 ##DOS## $(WCONFIG) config < $@.in > $@
231 ##DOS##lib\krb5\ccache\stdio\Makefile: lib\krb5\ccache\stdio\Makefile.in $(MKFDEP)
232 ##DOS## $(WCONFIG) config < $@.in > $@
233 ##DOS##lib\krb5\ccache\memory\Makefile: lib\krb5\ccache\memory\Makefile.in $(MKFDEP)
234 ##DOS## $(WCONFIG) config < $@.in > $@
235 ##DOS##lib\krb5\ccache\ccapi\Makefile: lib\krb5\ccache\ccapi\Makefile.in $(MKFDEP)
236 ##DOS## $(WCONFIG) config < $@.in > $@
237 ##DOS##lib\krb5\error_tables\Makefile: lib\krb5\error_tables\Makefile.in $(MKFDEP)
238 ##DOS## $(WCONFIG) config < $@.in > $@
239 ##DOS##lib\krb5\keytab\Makefile: $$@.in $(MKFDEP)
240 ##DOS## $(WCONFIG) config < $@.in > $@
241 ##DOS##lib\krb5\keytab\file\Makefile: $$@.in $(MKFDEP)
242 ##DOS## $(WCONFIG) config < $@.in > $@
243 ##DOS##lib\krb5\keytab\srvtab\Makefile: $$@.in $(MKFDEP)
244 ##DOS## $(WCONFIG) config < $@.in > $@
245 ##DOS##lib\krb5\krb\Makefile: lib\krb5\krb\Makefile.in $(MKFDEP)
246 ##DOS## $(WCONFIG) config < $@.in > $@
247 ##DOS##lib\krb5\os\Makefile: lib\krb5\os\Makefile.in $(MKFDEP)
248 ##DOS## $(WCONFIG) config < $@.in > $@
249 ##DOS##lib\krb5\posix\Makefile: lib\krb5\posix\Makefile.in $(MKFDEP)
250 ##DOS## $(WCONFIG) config < $@.in > $@
251 ##DOS##lib\krb5\rcache\Makefile: lib\krb5\rcache\Makefile.in $(MKFDEP)
252 ##DOS## $(WCONFIG) config < $@.in > $@
253 ##DOS##util\Makefile: util\Makefile.in $(MKFDEP)
254 ##DOS## $(WCONFIG) config < $@.in > $@
255 ##DOS##util\et\Makefile: util\et\Makefile.in $(MKFDEP)
256 ##DOS## $(WCONFIG) config < $@.in > $@
257 ##DOS##util\profile\Makefile: util\profile\Makefile.in $(MKFDEP)
258 ##DOS## $(WCONFIG) config < $@.in > $@
259 ##DOS##util\windows\Makefile: util\windows\Makefile.in $(MKFDEP)
260 ##DOS## $(WCONFIG) config < $@.in > $@
261 ##DOS##windows\Makefile:  windows\Makefile.in $(MKFDEP)
262 ##DOS## $(WCONFIG) config < $@.in > $@
263 ##DOS##windows\lib\Makefile:  windows\lib\Makefile.in $(MKFDEP)
264 ##DOS## $(WCONFIG) config < $@.in > $@
265 ##DOS##windows\cns\Makefile:  windows\cns\Makefile.in $(MKFDEP)
266 ##DOS## $(WCONFIG) config < $@.in > $@
267 ##DOS##windows\gina\Makefile:  windows\gina\Makefile.in $(MKFDEP)
268 ##DOS## $(WCONFIG) config < $@.in > $@
269 ##DOS##windows\gss\Makefile:  windows\gss\Makefile.in $(MKFDEP)
270 ##DOS## $(WCONFIG) config < $@.in > $@
271 ##DOS##windows\wintel\Makefile:  windows\wintel\Makefile.in $(MKFDEP)
272 ##DOS## $(WCONFIG) config < $@.in > $@
273
274 clean-windows:: Makefile-windows
275         @echo Making clean in util
276         cd util
277         $(MAKE) -$(MFLAGS) clean
278         @echo Making clean in include
279         cd ..\include
280         $(MAKE) -$(MFLAGS) clean
281         @echo Making clean in lib
282         cd ..\lib
283         $(MAKE) -$(MFLAGS) clean
284         @echo Making clean in windows
285         cd ..\windows
286         $(MAKE) -$(MFLAGS) clean
287         @echo Making clean in clients
288         cd ..\clients
289         $(MAKE) -$(MFLAGS) clean
290         cd ..
291         @echo Making clean in root
292
293 #
294 # Renames DOS 8.3 filenames back to their proper, longer names.
295 #
296 ren2long:
297         -sh config/ren2long
298
299 #
300 # Builds the file that distributes Kerberos sources for DOS and 
301 # Macintosh sites from the source tree on Unix.
302 #
303 ZIP=zip
304 FILES= ./* \
305         clients/* clients/kdestroy/* clients/kinit/* clients/klist/* \
306         clients/kpasswd/* \
307         config/* include/* include/kerberosIV/* \
308         include/krb5/* include/krb5/stock/* include/sys/* lib/* \
309         lib/crypto/* lib/crypto/crc32/* lib/crypto/des/* lib/crypto/dk/* \
310         lib/crypto/enc_provider/* lib/crypto/hash_provider/* \
311         lib/crypto/keyhash_provider/* lib/crypto/old/* lib/crypto/raw/* \
312         lib/crypto/sha1/* lib/crypto/md4/* lib/crypto/md5/* \
313         lib/des425/* lib/gssapi/* lib/gssapi/generic/* lib/gssapi/krb5/* \
314         lib/gssapi/mechglue/* lib/krb4/* \
315         lib/krb5/* lib/krb5/asn.1/* lib/krb5/krb/* \
316         lib/krb5/ccache/* lib/krb5/ccache/file/* lib/krb5/ccache/memory/* \
317         lib/krb5/ccache/stdio/* lib/krb5/ccache/ccapi/* \
318         lib/krb5/error_tables/* \
319         lib/krb5/keytab/* lib/krb5/keytab/file/* \
320         lib/krb5/os/* lib/krb5/posix/* lib/krb5/rcache/* \
321         util/et/* util/profile/*
322
323 WINFILES= util/windows/* windows/* windows/lib/* windows/cns/* \
324         windows/wintel/* windows/gss/* windows/gina/*
325
326 MACFILES= mac/* mac/libraries/* config/* include/* \
327         include/krb5/* include/krb5/stock/* include/sys/* \
328         ./patchlevel.h
329
330 MITWINFILES= mit/windows/include/* 
331 MITWINBINARYFILES= mit/windows/lib/*
332
333 WINBINARYFILES= windows/*/*.ico windows/*/*.doc windows/*/*.hlp \
334         windows/*/*.hpj windows/lib/*.lib
335
336 #
337 # Part of building the PC release has to be done on Unix. This includes
338 # anything the requires awk.
339 #
340 AWK = gawk
341 AH  = util/et/et_h.awk
342 AC  = util/et/et_c.awk
343 INC = include/
344 ET  = lib/krb5/error_tables/
345 GG  = lib/gssapi/generic/
346 GK  = lib/gssapi/krb5/
347 PR  = util/profile/
348
349 ETOUT = $(INC)asn1_err.h $(ET)asn1_err.c \
350         $(INC)kdb5_err.h $(ET)kdb5_err.c \
351         $(INC)krb5_err.h $(ET)krb5_err.c \
352         $(INC)kv5m_err.h $(ET)kv5m_err.c \
353         $(INC)adm_err.h $(ET)adm_err.c \
354         $(INC)/kerberosIV/krb_err.h lib/krb4/krb_err.c \
355         $(PR)prof_err.h $(PR)prof_err.c \
356         $(GG)gssapi_err_generic.h $(GG)gssapi_err_generic.c \
357         $(GK)gssapi_err_krb5.h $(GK)gssapi_err_krb5.c
358
359 HOUT =  $(INC)krb5.h $(GG)gssapi.h $(PR)profile.h
360
361 CLEANUP= Makefile $(ETOUT) $(HOUT) \
362         include/profile.h include/krb5/osconf.h \
363         winfile.list macfile.list
364
365
366 kerbsrc.win: kerbsrc.zip
367
368 winfile.list:
369         echo $(FILES) $(WINFILES) | tr ' ' \\012 | \
370                 sed -f config/winexclude.sed > winfile.list
371         if test -d mit ; then \
372                 echo $(MITWINFILES) | tr ' ' \\012 | \
373                 sed -f config/winexclude.sed >> winfile.list ; \
374         fi
375
376 MAC_SUBDIRS = lib util
377 macfile.list:
378         /bin/sh mac/macfiles.sh $(MAC_SUBDIRS) > macfile.list
379         find $(MACFILES) -prune -type f -print | \
380                 sed -f config/winexclude.sed >> macfile.list
381
382 dos-Makefile:
383         cat config/win-pre.in Makefile.in config/win-post.in | \
384                 sed -e "s/^##DOS##//" -e "s/^##DOS//" > Makefile
385
386 prep-windows: dos-Makefile awk-windows-mac
387
388 # Not supported....
389 krbsrc83.zip: dos-Makefile awk-windows-mac winfile.list
390         rm -f krbsrc83.zip
391         $(ZIP) -@Dlk krbsrc83.zip < winfile.list
392         $(ZIP) -Dk krbsrc83.zip $(WINBINARYFILES)
393         if test -d mit ; then \
394                 $(ZIP) -rDk krbsrc83.zip $(MITWINBINARYFILES) ; \
395         fi
396         rm -f $(CLEANUP)
397
398 kerbsrc.zip: dos-Makefile awk-windows-mac winfile.list
399         rm -f kerbsrc.zip
400         $(ZIP) -@Dl kerbsrc.zip < winfile.list
401         $(ZIP) -D kerbsrc.zip $(WINBINARYFILES)
402         if test -d mit ; then \
403                 $(ZIP) -rD kerbsrc.zip $(MITWINBINARYFILES) ; \
404         fi
405         rm -f $(CLEANUP)
406
407 kerbsrc-nt.zip: kerbsrc-nt-is-obsolete
408
409 kerbsrc-nt-is-obsolete:
410         @echo "Kerbsrc-nt.zip is now obsolete.  Just use and build kerbsrc.zip"
411         @echo "We don't support building under 8.3 restricted filesystems"
412         @echo "anymore, so what was kerbsrc-nt.zip is now kerbsrc.zip."
413         @echo " "
414
415 Macfile: macfile.list 
416         rm -f Macfile
417         sed -e 's|/|:|g' -e 's/^/:/' -e '/:.:/d' -e '/:mac:/d' macfile.list > macfile.maclist
418         grep '\.c$$' macfile.maclist > macsrcsgss
419         grep -v ':gssapi:' macsrcsgss > macsrcsk5
420         echo SRCS = `cat macsrcsgss` >> Macfile
421         echo SRCDIRS = `sed -n -e 's/\(.*:\)[^:]*\.c$$/ \1/p' macfile.maclist | sort -u` >> Macfile
422         echo GSSOBJS68K = `sed -e 's/$$/.68K.o/' -e 's/.*://' \
423                 -e 's/^/:bin:68K:/' macsrcsgss` >> Macfile
424         echo GSSOBJS68KCFM = `sed -e 's/$$/.CFM68.o/' -e 's/.*://' \
425                 -e 's/^/:bin:CFM-68K:/' macsrcsgss` >> Macfile
426         echo GSSOBJSPPC = `sed -e 's/$$/.PPC.o/' -e 's/.*://' \
427                 -e 's/^/:bin:PPC:/' macsrcsgss` >> Macfile
428         echo K5OBJS68K = `sed -e 's/$$/.68K.o/' -e 's/.*://' \
429                 -e 's/^/:bin:68K:/' macsrcsk5` >> Macfile
430         echo K5OBJS68KCFM = `sed -e 's/$$/.CFM68.o/' -e 's/.*://' \
431                 -e 's/^/:bin:CFM-68K:/' macsrcsk5` >> Macfile
432         echo K5OBJSPPC = `sed -e 's/$$/.PPC.o/' -e 's/.*://' \
433                 -e 's/^/:bin:PPC:/' macsrcsk5` >> Macfile
434         echo INCLUDES = `sed -n -e 's/\(.*:\)[^:]*\.h$$/-i \1/p' macfile.maclist | sort -u` >> Macfile
435         echo "" >> Macfile
436         tr '@/:\\' '\245:\304\266'< mac/Makefile.tmpl >> Macfile
437
438 mac-bin-dirs:
439         rm -rf bin
440         mkdir bin bin/68K bin/CFM-68K bin/PPC
441         sh mac/mkbindirs.sh bin/68K $(MAC_SUBDIRS)
442         sh mac/mkbindirs.sh bin/CFM-68K $(MAC_SUBDIRS)
443         sh mac/mkbindirs.sh bin/PPC $(MAC_SUBDIRS)
444
445 kerbsrc.mac.tar: awk-windows-mac macfile.list mac-bin-dirs Macfile
446         cp mac/libraries/autoconf.h include/autoconf.h
447         mv Macfile Makefile
448         tar cvf kerbsrc.mac.tar Makefile include/autoconf.h bin \
449                 `cat macfile.list`
450         rm -f $(CLEANUP)
451         rm -rf bin
452         rm -f include/autoconf.h Makefile macsrc* macfile.maclist
453
454 $(INC)asn1_err.h: $(AH) $(ET)asn1_err.et
455         $(AWK) -f $(AH) outfile=$@ $(ET)asn1_err.et
456 $(INC)kdb5_err.h: $(AH) $(ET)kdb5_err.et
457         $(AWK) -f $(AH) outfile=$@ $(ET)kdb5_err.et
458 $(INC)krb5_err.h: $(AH) $(ET)krb5_err.et
459         $(AWK) -f $(AH) outfile=$@ $(ET)krb5_err.et
460 $(INC)kv5m_err.h: $(AH) $(ET)kv5m_err.et
461         $(AWK) -f $(AH) outfile=$@ $(ET)kv5m_err.et
462 $(INC)adm_err.h: $(AH) $(ET)adm_err.et
463         $(AWK) -f $(AH) outfile=$@ $(ET)adm_err.et
464 $(INC)/kerberosIV/krb_err.h: $(AH) lib/krb4/krb_err.et
465         $(AWK) -f $(AH) outfile=$@ lib/krb4/krb_err.et
466 $(PR)prof_err.h: $(AH) $(PR)prof_err.et
467         $(AWK) -f $(AH) outfile=$@ $(PR)prof_err.et
468 $(GG)gssapi_err_generic.h: $(AH) $(GG)gssapi_err_generic.et
469         $(AWK) -f $(AH) outfile=$@ $(GG)gssapi_err_generic.et
470 $(GK)gssapi_err_krb5.h: $(AH) $(GK)gssapi_err_krb5.et
471         $(AWK) -f $(AH) outfile=$@ $(GK)gssapi_err_krb5.et
472
473 $(ET)asn1_err.c: $(AC) $(ET)asn1_err.et
474         $(AWK) -f $(AC) outfile=$@ $(ET)asn1_err.et
475 $(ET)kdb5_err.c: $(AC) $(ET)kdb5_err.et
476         $(AWK) -f $(AC) outfile=$@ $(ET)kdb5_err.et
477 $(ET)krb5_err.c: $(AC) $(ET)krb5_err.et
478         $(AWK) -f $(AC) outfile=$@ $(ET)krb5_err.et
479 $(ET)kv5m_err.c: $(AC) $(ET)kv5m_err.et
480         $(AWK) -f $(AC) outfile=$@ $(ET)kv5m_err.et
481 $(ET)adm_err.c: $(AC) $(ET)adm_err.et
482         $(AWK) -f $(AC) outfile=$@ $(ET)adm_err.et
483 lib/krb4/krb_err.c: $(AC) lib/krb4/krb_err.et
484         $(AWK) -f $(AC) outfile=$@ lib/krb4/krb_err.et
485 $(PR)prof_err.c: $(AC) $(PR)prof_err.et
486         $(AWK) -f $(AC) outfile=$@ $(PR)prof_err.et
487 $(GG)gssapi_err_generic.c: $(AC) $(GG)gssapi_err_generic.et
488         $(AWK) -f $(AC) outfile=$@ $(GG)gssapi_err_generic.et
489 $(GK)gssapi_err_krb5.c: $(AC) $(GK)gssapi_err_krb5.et
490         $(AWK) -f $(AC) outfile=$@ $(GK)gssapi_err_krb5.et
491
492 KRBHDEP = $(INC)krb5.hin $(INC)krb5_err.h $(INC)kdb5_err.h \
493         $(INC)kv5m_err.h $(INC)asn1_err.h
494
495 $(INC)krb5.h: $(KRBHDEP)
496         rm -f $@
497         cat $(KRBHDEP) > $@
498 $(PR)profile.h: $(PR)profile.hin $(PR)prof_err.h
499         rm -f $@
500         cat $(PR)profile.hin $(PR)prof_err.h > $@
501 $(GG)gssapi.h: $(GG)gssapi.hin
502         rm -f $@
503         cat $(GG)gssapi.hin > $@
504
505 awk-windows-mac: $(ETOUT) $(HOUT)
506
507 clean-windows-mac:
508         rm -f $(CLEANUP)
509
510 KBINDIR=kbin
511
512 distclean-windows:
513         config\rm.bat $(CLEANUP:^/=^\)
514         config\rm.bat $(WINMAKEFILES)
515         config\rm.bat $(KBINDIR)\*.dll $(KBINDIR)\*.exe
516         @if exist $(KBINDIR)\nul rmdir $(KBINDIR)
517
518 mkbin:
519         @if not exist $(KBINDIR)\nul mkdir $(KBINDIR)
520         $(CP) lib\$(OUTPRE)*.dll $(KBINDIR)\.
521         $(CP) windows\cns\$(OUTPRE)krb5.exe $(KBINDIR)\.
522         $(CP) windows\wintel\$(OUTPRE)telnet.exe $(KBINDIR)\.
523         $(CP) windows\gss\$(OUTPRE)gss.exe $(KBINDIR)\.
524         $(CP) clients\klist\$(OUTPRE)klist.exe $(KBINDIR)\.
525         $(CP) clients\kinit\$(OUTPRE)kinit.exe $(KBINDIR)\.
526         $(CP) clients\kdestroy\$(OUTPRE)kdestroy.exe $(KBINDIR)\.
527         $(CP) clients\kpasswd\$(OUTPRE)kpasswd.exe $(KBINDIR)\.