Added missing backslash at the end of one of the lines, missing from
[krb5.git] / src / Makefile.in
1 CFLAGS = $(CCOPTS) $(DEFS)
2
3 SRCS =  
4 HDRS = 
5
6 DISTFILES = $(SRCS) $(HDRS) COPYING COPYING.LIB ChangeLog Makefile.in
7
8 all-unix::
9
10 all-mac::
11
12 all-: all-windows
13
14 LIBCMD = lib
15 all-windows:: makefile-windows
16         @echo Making in include
17         cd include
18         -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
19         @echo Making in util\et
20         cd ..\util\et
21         -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
22         @echo Making in util\profile
23         cd ..\profile
24         -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
25         @echo Making in lib
26         cd ..\..\lib
27         -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
28         @echo Making in windows
29         cd ..\windows
30         -$(MAKE) -$(MAKEFLAGS) LIBCMD=$(LIBCMD)
31         cd ..
32
33 world::
34         date
35         make $(MFLAGS) all
36         date
37
38 INSTALLMKDIRS = $(KRB5ROOT) $(KRB5MANROOT) $(KRB5OTHERMKDIRS) \
39                 $(ADMIN_BINDIR) $(SERVER_BINDIR) $(CLIENT_BINDIR) \
40                 $(ADMIN_MANDIR) $(SERVER_MANDIR) $(CLIENT_MANDIR) \
41                 $(FILE_MANDIR) $(KRB5_LIBDIR) $(KRB5_INCDIR) \
42                 $(KRB5_INCSUBDIRS)
43
44 install:: install-mkdirs
45
46 install-mkdirs:
47         @for i in $(INSTALLMKDIRS); do \
48                 if test -d $(DESTDIR)$$i; then :; else (set -x; mkdir -p $(DESTDIR)$$i); fi \
49         done
50
51 # install::
52 #       $(MAKE) $(MFLAGS) install.man
53
54 .c.o:
55         $(CC) -c $(CPPFLAGS) $(DEFS) -I$(srcdir) $(CFLAGS) $<
56
57 TAGS: $(SRCS)
58         etags $(SRCS)
59
60 clean-:: clean-windows
61 clean-mac:: clean-unix
62 clean-unix::
63         $(RM) *.o core
64
65 mostlyclean: clean
66
67 distclean: clean
68         rm -f Makefile config.status
69
70 realclean: distclean
71         rm -f TAGS
72
73 dist: $(DISTFILES)
74         echo cpio-`sed -e '/version_string/!d' \
75         -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q version.c` > .fname
76         rm -rf `cat .fname`
77         mkdir `cat .fname`
78         -ln $(DISTFILES) `cat .fname`
79         for file in $(DISTFILES); do \
80           test -r `cat .fname`/$$file || cp -p $$file `cat .fname`; \
81         done
82         tar chzf `cat .fname`.tar.gz `cat .fname`
83         rm -rf `cat .fname` .fname
84
85 # Macintosh build process...
86
87 # Build all things for the Mac build, which need to be built on
88 # Unix first.
89 unixmac:
90         (cd lib/krb5/error_tables; make -f Makefile.in unixmac)
91         (cd lib/gssapi/generic; make -f Makefile.in unixmac)
92
93
94 # Microsoft Windows build process...
95 #
96
97 config-windows:: makefile-windows
98         @echo Making in include
99         cd include
100         -$(MAKE) -$(MAKEFLAGS)
101         cd ..
102
103 makefile-windows:: wconfig.exe config\pre.in config\post.in \
104                 include\makefile.in include\krb5\makefile.in \
105                 lib\makefile.in lib\crypto\makefile.in \
106                 lib\crypto\crc32\makefile.in lib\crypto\des\makefile.in \
107                 lib\crypto\md4\makefile.in lib\crypto\md5\makefile.in \
108                 lib\crypto\os\makefile.in lib\des425\makefile.in \
109                 lib\gssapi\makefile.in lib\gssapi\generic\makefile.in \
110                 lib\gssapi\krb5\makefile.in lib\krb5\makefile.in \
111                 lib\krb5\asn.1\makefile.in lib\krb5\ccache\makefile.in \
112                 lib\krb5\ccache\file\makefile.in \
113                 lib\krb5\ccache\stdio\makefile.in \
114                 lib\krb5\error_ta\makefile.in \
115                 lib\krb5\free\makefile.in lib\krb5\keytab\makefile.in \
116                 lib\krb5\keytab\file\makefile.in lib\krb5\krb\makefile.in \
117                 lib\krb5\os\makefile.in lib\krb5\posix\makefile.in \
118                 lib\krb5\rcache\makefile.in \
119                 util\et\makefile.in util\profile\makefile.in
120         type makefile.in >makefile
121         .\wconfig config <include\makefile.in >include\makefile
122         .\wconfig config <include\krb5\makefile.in >include\krb5\makefile
123         .\wconfig config <lib\makefile.in >lib\makefile
124         .\wconfig config <lib\crypto\makefile.in >lib\crypto\makefile
125         .\wconfig config <lib\crypto\crc32\makefile.in >lib\crypto\crc32\makefile
126         .\wconfig config <lib\crypto\des\makefile.in >lib\crypto\des\makefile
127         .\wconfig config <lib\crypto\md4\makefile.in >lib\crypto\md4\makefile
128         .\wconfig config <lib\crypto\md5\makefile.in >lib\crypto\md5\makefile
129         .\wconfig config <lib\crypto\os\makefile.in >lib\crypto\os\makefile
130         .\wconfig config <lib\des425\makefile.in >lib\des425\makefile
131         .\wconfig config <lib\gssapi\makefile.in >lib\gssapi\makefile
132         .\wconfig config <lib\gssapi\generic\makefile.in >lib\gssapi\generic\makefile
133         .\wconfig config <lib\gssapi\krb5\makefile.in >lib\gssapi\krb5\makefile
134         .\wconfig config <lib\kadm\makefile.in >lib\kadm\makefile
135         .\wconfig config <lib\krb5\makefile.in >lib\krb5\makefile
136         .\wconfig config <lib\krb5\asn.1\makefile.in >lib\krb5\asn.1\makefile
137         .\wconfig config <lib\krb5\ccache\makefile.in >lib\krb5\ccache\makefile
138         .\wconfig config <lib\krb5\ccache\file\makefile.in >lib\krb5\ccache\file\makefile
139         .\wconfig config <lib\krb5\ccache\stdio\makefile.in >lib\krb5\ccache\stdio\makefile
140         .\wconfig config <lib\krb5\error_ta\makefile.in >lib\krb5\error_ta\makefile
141         .\wconfig config <lib\krb5\free\makefile.in >lib\krb5\free\makefile
142         .\wconfig config <lib\krb5\keytab\makefile.in >lib\krb5\keytab\makefile
143         .\wconfig config <lib\krb5\keytab\file\makefile.in >lib\krb5\keytab\file\makefile
144         .\wconfig config <lib\krb5\krb\makefile.in >lib\krb5\krb\makefile
145         .\wconfig config <lib\krb5\os\makefile.in >lib\krb5\os\makefile
146         .\wconfig config <lib\krb5\posix\makefile.in >lib\krb5\posix\makefile
147         .\wconfig config <lib\krb5\rcache\makefile.in >lib\krb5\rcache\makefile
148         .\wconfig config <util\et\makefile.in >util\et\makefile
149         .\wconfig config <util\profile\makefile.in >util\profile\makefile
150         config\rm.bat wconfig.obj msvc.pdb
151
152 wconfig.exe: wconfig.c
153         SET CL=/nologo
154         $(CC) /AL wconfig.c
155
156 clean-windows::
157         @echo Making clean in include
158         cd include
159         -$(MAKE) -$(MAKEFLAGS) clean
160         @echo Making clean in util\et
161         cd ..\util\et
162         -$(MAKE) -$(MAKEFLAGS) clean
163         @echo Making clean in util\profile
164         cd ..\profile
165         -$(MAKE) -$(MAKEFLAGS) clean
166         @echo Making clean in lib
167         cd ..\..\lib
168         -$(MAKE) -$(MAKEFLAGS) clean
169         @echo Making clean in windows
170         cd ..\windows
171         -$(MAKE) -$(MAKEFLAGS) clean
172         cd ..
173         @echo Making clean in root
174         config\rm.bat *.obj msvc.pdb *.err wconfig.obj wconfig.exe
175
176 #
177 # Renames DOS 8.3 filenames back to their proper, longer names.
178 #
179 ren2long:
180         -sh config/ren2long
181
182 #
183 # Builds the file that distributes Kerberos sources for DOS and 
184 # Macintosh sites from the source tree on Unix.
185 #
186 ZIP=zip
187 FILES= ./* \
188         config/* include/* include/krb5/* include/krb5/asn.1/* \
189         include/krb5/stock/* include/sys/* lib/* lib/crypto/* \
190         lib/crypto/crc32/* lib/crypto/des/* lib/crypto/md4/* \
191         lib/crypto/md5/* lib/crypto/os/* lib/des425/* lib/gssapi/* \
192         lib/gssapi/generic/* lib/gssapi/krb5/* lib/kadm/* lib/krb425/* \
193         lib/krb5/* lib/krb5/asn.1/* lib/krb5/krb/* \
194         lib/krb5/ccache/* lib/krb5/ccache/file/* \
195         lib/krb5/ccache/stdio/* lib/krb5/error_tables/* \
196         lib/krb5/free/* lib/krb5/keytab/* lib/krb5/keytab/file/* \
197         lib/krb5/os/* lib/krb5/posix/* lib/krb5/rcache/* util/et/* \
198         util/profile/*
199
200 WINFILES= windows/* windows/cns/* windows/wintel/* windows/gss/*
201
202 MACFILES= mac/* mac/kconfig/* mac/libraries/* mac/telnet/*
203
204 WINBINARYFILES=windows/cns/*.ico windows/wintel/*.ico windows/gss/*.ico
205
206 WINEXCLUDE= LIB/KRB5.SAB \
207         INCLUDE/KRB5/AUTOCONF.H \
208         LIB/CRYPTO/MD4/T_MDDRIV LIB/CRYPTO/MD5/T_MDDRIV \
209         UTIL/PROFILE/TEST_PAR UTIL/PROFILE/TEST_PRO \
210         WINDOWS/CNS/*.ICO WINDOWS/WINTEL/*.ICO WINDOWS/GSS/*.ICO \
211         *.O *.A *.ZIP *.TAR
212
213 NTEXCLUDE= ./lib/krb5.sab \
214         ./include/krb5/autoconf.h \
215         ./lib/crypto/md4/t_mddriv ./lib/crypto/md5/t_mddriv \
216         ./util/profile/test_par ./util/profile/test_pro \
217         windows/cns/*.ico windows/wintel/*.ico windows/gss/*.ico \
218         ./*.zip ./*.tar
219
220 CLEANUP= util/profile/profile.h util/profile/prof_err.[ch] \
221         lib/krb5/error_tables/asn1_err.c lib/krb5/error_tables/kdb5_err.c \
222         lib/krb5/error_tables/krb5_err.c lib/krb5/error_tables/kv5m_err.c \
223         lib/krb5/error_tables/adm_err.c \
224         include/asn1_err.h include/kdb5_err.h \
225         include/krb5_err.h include/kv5m_err.h \
226         include/adm_err.h include/profile.h include/krb5.h \
227         lib/gssapi/generic/gssapi_err_generic.[ch] \
228         lib/gssapi/krb5/gssapi_err_krb5.[ch]
229
230 kerbsrc.win: kerbsrc.zip
231
232 kerbsrc.zip: awk-windows-mac
233         rm -f Makefile.bak
234         mv Makefile Makefile.bak
235         cp Makefile.in Makefile
236         rm -f kerbsrc.zip
237         $(ZIP) -Dlk kerbsrc.zip $(FILES) $(WINFILES) -x $(WINEXCLUDE)
238         $(ZIP) -Dk kerbsrc.zip $(WINBINARYFILES)
239         mv Makefile.bak Makefile
240         rm -f $(CLEANUP)
241
242 kerbsrc-nt.zip: awk-windows-mac
243         rm -f Makefile.bak
244         mv Makefile Makefile.bak
245         cp Makefile.in Makefile
246         rm -f kerbsrc-nt.zip
247         $(ZIP) -Dl kerbsrc-nt.zip $(FILES) $(WINFILES) -x $(NTEXCLUDE)
248         $(ZIP) -D kerbsrc-nt.zip $(WINBINARYFILES)
249         mv Makefile.bak Makefile
250         rm -f $(CLEANUP)
251
252 kerbsrc.mac: awk-windows-mac
253         tar cvf kerbsrc.tar `find $(FILES) $(MACFILES) -prune -type f -print | grep -v kerbsrc`
254         rm -f $(CLEANUP)
255
256 #
257 # Part of building the PC release has to be done on Unix. This includes
258 # anything the requires awk.
259 #
260 AH  = util/et/et_h.awk
261 AC  = util/et/et_c.awk
262 INC = include/
263 ET  = lib/krb5/error_tables/
264 GG  = lib/gssapi/generic/
265 GK  = lib/gssapi/krb5/
266 PR  = util/profile/
267
268 awk-windows-mac:
269         gawk -f $(AH) outfile=$(INC)asn1_err.h $(ET)asn1_err.et
270         gawk -f $(AH) outfile=$(INC)kdb5_err.h $(ET)kdb5_err.et
271         gawk -f $(AH) outfile=$(INC)krb5_err.h $(ET)krb5_err.et
272         gawk -f $(AH) outfile=$(INC)kv5m_err.h $(ET)kv5m_err.et
273         gawk -f $(AH) outfile=$(INC)adm_err.h $(ET)adm_err.et
274         cat $(INC)/krb5.hin $(INC)/krb5_err.h $(INC)/kdb5_err.h \
275                 $(INC)/kv5m_err.h $(INC)/asn1_err.h > $(INC)/krb5.h
276         gawk -f $(AC) outfile=$(ET)asn1_err.c $(ET)asn1_err.et
277         gawk -f $(AC) outfile=$(ET)kdb5_err.c $(ET)kdb5_err.et
278         gawk -f $(AC) outfile=$(ET)krb5_err.c $(ET)krb5_err.et
279         gawk -f $(AC) outfile=$(ET)kv5m_err.c $(ET)kv5m_err.et
280         gawk -f $(AC) outfile=$(ET)adm_err.c $(ET)adm_err.et
281         gawk -f $(AH) outfile=$(GG)gssapi_err_generic.h $(GG)gssapi_err_generic.et
282         gawk -f $(AC) outfile=$(GG)gssapi_err_generic.c $(GG)gssapi_err_generic.et
283         gawk -f $(AH) outfile=$(GK)gssapi_err_krb5.h $(GK)gssapi_err_krb5.et
284         gawk -f $(AC) outfile=$(GK)gssapi_err_krb5.c $(GK)gssapi_err_krb5.et
285         gawk -f $(AH) outfile=$(PR)prof_err.h $(PR)prof_err.et
286         gawk -f $(AC) outfile=$(PR)prof_err.c $(PR)prof_err.et
287         cat $(PR)/profile.hin $(PR)prof_err.h > $(PR)profile.h
288         cp $(PR)profile.h include/profile.h