Windows: Version information for binaries
[heimdal.git] / lib / gssapi / NTMakefile
blobc909b929f050aff868d1a03955edf364cc9ce396
1 ########################################################################
3 # Copyright (c) 2009, Secure Endpoints Inc.
4 # All rights reserved.
5
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9
10 # - Redistributions of source code must retain the above copyright
11 #   notice, this list of conditions and the following disclaimer.
12
13 # - Redistributions in binary form must reproduce the above copyright
14 #   notice, this list of conditions and the following disclaimer in
15 #   the documentation and/or other materials provided with the
16 #   distribution.
17
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22 # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 # POSSIBILITY OF SUCH DAMAGE.
30
32 RELDIR=lib\gssapi 
34 !include ../../windows/NTMakefile.w32 
36 krb5src = \
37         krb5/8003.c \
38         krb5/accept_sec_context.c \
39         krb5/acquire_cred.c \
40         krb5/add_cred.c \
41         krb5/address_to_krb5addr.c \
42         krb5/aeap.c \
43         krb5/arcfour.c \
44         krb5/canonicalize_name.c \
45         krb5/creds.c \
46         krb5/ccache_name.c \
47         krb5/cfx.c \
48         krb5/cfx.h \
49         krb5/compare_name.c \
50         krb5/compat.c \
51         krb5/context_time.c \
52         krb5/copy_ccache.c \
53         krb5/decapsulate.c \
54         krb5/delete_sec_context.c \
55         krb5/display_name.c \
56         krb5/display_status.c \
57         krb5/duplicate_name.c \
58         krb5/encapsulate.c \
59         krb5/export_name.c \
60         krb5/export_sec_context.c \
61         krb5/external.c \
62         krb5/get_mic.c \
63         krb5/gsskrb5_locl.h \
64         krb5/import_name.c \
65         krb5/import_sec_context.c \
66         krb5/indicate_mechs.c \
67         krb5/init.c \
68         krb5/init_sec_context.c \
69         krb5/inquire_context.c \
70         krb5/inquire_cred.c \
71         krb5/inquire_cred_by_mech.c \
72         krb5/inquire_cred_by_oid.c \
73         krb5/inquire_mechs_for_name.c \
74         krb5/inquire_names_for_mech.c \
75         krb5/inquire_sec_context_by_oid.c \
76         krb5/process_context_token.c \
77         krb5/prf.c \
78         krb5/release_buffer.c \
79         krb5/release_cred.c \
80         krb5/release_name.c \
81         krb5/sequence.c \
82         krb5/store_cred.c \
83         krb5/set_cred_option.c \
84         krb5/set_sec_context_option.c \
85         krb5/ticket_flags.c \
86         krb5/unwrap.c \
87         krb5/verify_mic.c \
88         krb5/wrap.c
90 mechsrc = \
91         mech/context.h \
92         mech/context.c \
93         mech/cred.h \
94         mech/gss_accept_sec_context.c \
95         mech/gss_acquire_cred.c \
96         mech/gss_add_cred.c \
97         mech/gss_add_oid_set_member.c \
98         mech/gss_aeap.c \
99         mech/gss_buffer_set.c \
100         mech/gss_canonicalize_name.c \
101         mech/gss_compare_name.c \
102         mech/gss_context_time.c \
103         mech/gss_create_empty_oid_set.c \
104         mech/gss_cred.c \
105         mech/gss_decapsulate_token.c \
106         mech/gss_delete_sec_context.c \
107         mech/gss_display_name.c \
108         mech/gss_display_status.c \
109         mech/gss_duplicate_name.c \
110         mech/gss_duplicate_oid.c \
111         mech/gss_encapsulate_token.c \
112         mech/gss_export_name.c \
113         mech/gss_export_sec_context.c \
114         mech/gss_get_mic.c \
115         mech/gss_import_name.c \
116         mech/gss_import_sec_context.c \
117         mech/gss_indicate_mechs.c \
118         mech/gss_init_sec_context.c \
119         mech/gss_inquire_context.c \
120         mech/gss_inquire_cred.c \
121         mech/gss_inquire_cred_by_mech.c \
122         mech/gss_inquire_cred_by_oid.c \
123         mech/gss_inquire_mechs_for_name.c \
124         mech/gss_inquire_names_for_mech.c \
125         mech/gss_krb5.c \
126         mech/gss_mech_switch.c \
127         mech/gss_names.c \
128         mech/gss_oid_equal.c \
129         mech/gss_oid_to_str.c \
130         mech/gss_process_context_token.c \
131         mech/gss_pseudo_random.c \
132         mech/gss_release_buffer.c \
133         mech/gss_release_cred.c \
134         mech/gss_release_name.c \
135         mech/gss_release_oid.c \
136         mech/gss_release_oid_set.c \
137         mech/gss_seal.c \
138         mech/gss_set_cred_option.c \
139         mech/gss_set_sec_context_option.c \
140         mech/gss_sign.c \
141         mech/gss_store_cred.c \
142         mech/gss_test_oid_set_member.c \
143         mech/gss_unseal.c \
144         mech/gss_unwrap.c \
145         mech/gss_utils.c \
146         mech/gss_verify.c \
147         mech/gss_verify_mic.c \
148         mech/gss_wrap.c \
149         mech/gss_wrap_size_limit.c \
150         mech/gss_inquire_sec_context_by_oid.c \
151         mech/mech_switch.h \
152         mech/mechqueue.h \
153         mech/mech_locl.h \
154         mech/name.h \
155         mech/utils.h
157 spnegosrc = \
158         spnego/accept_sec_context.c \
159         spnego/compat.c \
160         spnego/context_stubs.c \
161         spnego/cred_stubs.c \
162         spnego/external.c \
163         spnego/init_sec_context.c \
164         spnego/spnego_locl.h
166 ntlmsrc = \
167         ntlm/accept_sec_context.c \
168         ntlm/acquire_cred.c \
169         ntlm/add_cred.c \
170         ntlm/canonicalize_name.c \
171         ntlm/compare_name.c \
172         ntlm/context_time.c \
173         ntlm/crypto.c \
174         ntlm/delete_sec_context.c \
175         ntlm/display_name.c \
176         ntlm/display_status.c \
177         ntlm/duplicate_name.c \
178         ntlm/export_name.c \
179         ntlm/export_sec_context.c \
180         ntlm/external.c \
181         ntlm/ntlm.h \
182         ntlm/import_name.c \
183         ntlm/import_sec_context.c \
184         ntlm/indicate_mechs.c \
185         ntlm/init_sec_context.c \
186         ntlm/inquire_context.c \
187         ntlm/inquire_cred.c \
188         ntlm/inquire_cred_by_mech.c \
189         ntlm/inquire_mechs_for_name.c \
190         ntlm/inquire_names_for_mech.c \
191         ntlm/process_context_token.c \
192         ntlm/release_cred.c \
193         ntlm/release_name.c \
194         ntlm/kdc.c
196 $(OBJ)\ntlm\ntlm-private.h: $(ntlmsrc)
197         $(PERL) ../../cf/make-proto.pl -q -P remove -p $@ $(ntlmsrc)
199 $(OBJ)\krb5\gsskrb5-private.h: $(krb5src)
200         $(PERL) ../../cf/make-proto.pl -q -P remove -p $@ $(krb5src)
202 $(OBJ)\spnego\spnego-private.h: $(spnegosrc)
203         $(PERL) ../../cf/make-proto.pl -q -P remove -p $@ $(spnegosrc)
205 gssapi_files =                                  \
206         $(OBJ)\gssapi\asn1_GSSAPIContextToken.x
208 spnego_files =                                  \
209         $(OBJ)\spnego\asn1_ContextFlags.x       \
210         $(OBJ)\spnego\asn1_MechType.x           \
211         $(OBJ)\spnego\asn1_MechTypeList.x       \
212         $(OBJ)\spnego\asn1_NegotiationToken.x   \
213         $(OBJ)\spnego\asn1_NegotiationTokenWin.x \
214         $(OBJ)\spnego\asn1_NegHints.x           \
215         $(OBJ)\spnego\asn1_NegTokenInit.x       \
216         $(OBJ)\spnego\asn1_NegTokenInitWin.x    \
217         $(OBJ)\spnego\asn1_NegTokenResp.x
219 $(gssapi_files:.x=.c): $$(@R).x
221 $(spnego_files:.x=.c): $$(@R).x
223 $(gssapi_files) $(OBJ)\gssapi\gssapi_asn1.hx $(OBJ)\gssapi\gssapi_asn1-priv.hx: \
224 $(BINDIR)\asn1_compile.exe mech\gssapi.asn1
225         cd $(OBJ)\gssapi
226         $(BINDIR)\asn1_compile.exe $(SRCDIR)\mech\gssapi.asn1 gssapi_asn1 \
227         || ( $(RM) $(OBJ)\gssapi\gssapi_asn1.h ; exit /b 1 )
228         cd $(SRCDIR)
230 $(spnego_files) $(OBJ)\spnego\spnego_asn1.hx $(OBJ)\spnego\spnego_asn1-priv.hx: \
231 $(BINDIR)\asn1_compile.exe spnego\spnego.asn1
232         cd $(OBJ)\spnego
233         $(BINDIR)\asn1_compile --sequence=MechTypeList $(SRCDIR)\spnego\spnego.asn1 spnego_asn1 \
234         || ( $(RM) $(OBJ)\spnego\spnego_asn1.h ; exit /b 1 )
235         cd $(SRCDIR)
237 $(OBJ)\gkrb5_err.c $(OBJ)\gkrb5_err.h: krb5\gkrb5_err.et
238         cd $(OBJ)
239         $(BINDIR)\compile_et.exe $(SRCDIR)\krb5\gkrb5_err.et
240         cd $(SRCDIR)
242 INCFILES=                               \
243     $(INCDIR)\gssapi.h                  \
244     $(INCDIR)\gssapi\gssapi.h           \
245     $(INCDIR)\gssapi\gssapi_krb5.h      \
246     $(INCDIR)\gssapi\gssapi_ntlm.h      \
247     $(INCDIR)\gssapi\gssapi_spnego.h    \
248     $(OBJ)\ntlm\ntlm-private.h          \
249     $(OBJ)\spnego\spnego-private.h      \
250     $(OBJ)\krb5\gsskrb5-private.h       \
251     $(OBJ)\gkrb5_err.h                  \
252     $(OBJ)\gssapi\gssapi_asn1.h         \
253     $(OBJ)\gssapi\gssapi_asn1-priv.h    \
254     $(OBJ)\spnego\spnego_asn1.h         \
255     $(OBJ)\spnego\spnego_asn1-priv.h
257 all:: $(INCFILES)
259 libgssapi_OBJs = \
260         $(OBJ)\krb5/8003.obj \
261         $(OBJ)\krb5/accept_sec_context.obj \
262         $(OBJ)\krb5/acquire_cred.obj \
263         $(OBJ)\krb5/add_cred.obj \
264         $(OBJ)\krb5/address_to_krb5addr.obj \
265         $(OBJ)\krb5/aeap.obj \
266         $(OBJ)\krb5/arcfour.obj \
267         $(OBJ)\krb5/canonicalize_name.obj \
268         $(OBJ)\krb5/creds.obj \
269         $(OBJ)\krb5/ccache_name.obj \
270         $(OBJ)\krb5/cfx.obj \
271         $(OBJ)\krb5/compare_name.obj \
272         $(OBJ)\krb5/compat.obj \
273         $(OBJ)\krb5/context_time.obj \
274         $(OBJ)\krb5/copy_ccache.obj \
275         $(OBJ)\krb5/decapsulate.obj \
276         $(OBJ)\krb5/delete_sec_context.obj \
277         $(OBJ)\krb5/display_name.obj \
278         $(OBJ)\krb5/display_status.obj \
279         $(OBJ)\krb5/duplicate_name.obj \
280         $(OBJ)\krb5/encapsulate.obj \
281         $(OBJ)\krb5/export_name.obj \
282         $(OBJ)\krb5/export_sec_context.obj \
283         $(OBJ)\krb5/external.obj \
284         $(OBJ)\krb5/get_mic.obj \
285         $(OBJ)\krb5/import_name.obj \
286         $(OBJ)\krb5/import_sec_context.obj \
287         $(OBJ)\krb5/indicate_mechs.obj \
288         $(OBJ)\krb5/init.obj \
289         $(OBJ)\krb5/init_sec_context.obj \
290         $(OBJ)\krb5/inquire_context.obj \
291         $(OBJ)\krb5/inquire_cred.obj \
292         $(OBJ)\krb5/inquire_cred_by_mech.obj \
293         $(OBJ)\krb5/inquire_cred_by_oid.obj \
294         $(OBJ)\krb5/inquire_mechs_for_name.obj \
295         $(OBJ)\krb5/inquire_names_for_mech.obj \
296         $(OBJ)\krb5/inquire_sec_context_by_oid.obj \
297         $(OBJ)\krb5/process_context_token.obj \
298         $(OBJ)\krb5/prf.obj \
299         $(OBJ)\krb5/release_buffer.obj \
300         $(OBJ)\krb5/release_cred.obj \
301         $(OBJ)\krb5/release_name.obj \
302         $(OBJ)\krb5/sequence.obj \
303         $(OBJ)\krb5/store_cred.obj \
304         $(OBJ)\krb5/set_cred_option.obj \
305         $(OBJ)\krb5/set_sec_context_option.obj \
306         $(OBJ)\krb5/ticket_flags.obj \
307         $(OBJ)\krb5/unwrap.obj \
308         $(OBJ)\krb5/verify_mic.obj \
309         $(OBJ)\krb5/wrap.obj \
310         $(OBJ)\mech/context.obj \
311         $(OBJ)\mech/gss_accept_sec_context.obj \
312         $(OBJ)\mech/gss_acquire_cred.obj \
313         $(OBJ)\mech/gss_add_cred.obj \
314         $(OBJ)\mech/gss_add_oid_set_member.obj \
315         $(OBJ)\mech/gss_aeap.obj \
316         $(OBJ)\mech/gss_buffer_set.obj \
317         $(OBJ)\mech/gss_canonicalize_name.obj \
318         $(OBJ)\mech/gss_compare_name.obj \
319         $(OBJ)\mech/gss_context_time.obj \
320         $(OBJ)\mech/gss_create_empty_oid_set.obj \
321         $(OBJ)\mech/gss_cred.obj \
322         $(OBJ)\mech/gss_decapsulate_token.obj \
323         $(OBJ)\mech/gss_delete_sec_context.obj \
324         $(OBJ)\mech/gss_display_name.obj \
325         $(OBJ)\mech/gss_display_status.obj \
326         $(OBJ)\mech/gss_duplicate_name.obj \
327         $(OBJ)\mech/gss_duplicate_oid.obj \
328         $(OBJ)\mech/gss_encapsulate_token.obj \
329         $(OBJ)\mech/gss_export_name.obj \
330         $(OBJ)\mech/gss_export_sec_context.obj \
331         $(OBJ)\mech/gss_get_mic.obj \
332         $(OBJ)\mech/gss_import_name.obj \
333         $(OBJ)\mech/gss_import_sec_context.obj \
334         $(OBJ)\mech/gss_indicate_mechs.obj \
335         $(OBJ)\mech/gss_init_sec_context.obj \
336         $(OBJ)\mech/gss_inquire_context.obj \
337         $(OBJ)\mech/gss_inquire_cred.obj \
338         $(OBJ)\mech/gss_inquire_cred_by_mech.obj \
339         $(OBJ)\mech/gss_inquire_cred_by_oid.obj \
340         $(OBJ)\mech/gss_inquire_mechs_for_name.obj \
341         $(OBJ)\mech/gss_inquire_names_for_mech.obj \
342         $(OBJ)\mech/gss_krb5.obj \
343         $(OBJ)\mech/gss_mech_switch.obj \
344         $(OBJ)\mech/gss_names.obj \
345         $(OBJ)\mech/gss_oid_equal.obj \
346         $(OBJ)\mech/gss_oid_to_str.obj \
347         $(OBJ)\mech/gss_process_context_token.obj \
348         $(OBJ)\mech/gss_pseudo_random.obj \
349         $(OBJ)\mech/gss_release_buffer.obj \
350         $(OBJ)\mech/gss_release_cred.obj \
351         $(OBJ)\mech/gss_release_name.obj \
352         $(OBJ)\mech/gss_release_oid.obj \
353         $(OBJ)\mech/gss_release_oid_set.obj \
354         $(OBJ)\mech/gss_seal.obj \
355         $(OBJ)\mech/gss_set_cred_option.obj \
356         $(OBJ)\mech/gss_set_sec_context_option.obj \
357         $(OBJ)\mech/gss_sign.obj \
358         $(OBJ)\mech/gss_store_cred.obj \
359         $(OBJ)\mech/gss_test_oid_set_member.obj \
360         $(OBJ)\mech/gss_unseal.obj \
361         $(OBJ)\mech/gss_unwrap.obj \
362         $(OBJ)\mech/gss_utils.obj \
363         $(OBJ)\mech/gss_verify.obj \
364         $(OBJ)\mech/gss_verify_mic.obj \
365         $(OBJ)\mech/gss_wrap.obj \
366         $(OBJ)\mech/gss_wrap_size_limit.obj \
367         $(OBJ)\mech/gss_inquire_sec_context_by_oid.obj \
368         $(OBJ)\spnego/accept_sec_context.obj \
369         $(OBJ)\spnego/compat.obj \
370         $(OBJ)\spnego/context_stubs.obj \
371         $(OBJ)\spnego/cred_stubs.obj \
372         $(OBJ)\spnego/external.obj \
373         $(OBJ)\spnego/init_sec_context.obj \
374         $(OBJ)\ntlm/accept_sec_context.obj \
375         $(OBJ)\ntlm/acquire_cred.obj \
376         $(OBJ)\ntlm/add_cred.obj \
377         $(OBJ)\ntlm/canonicalize_name.obj \
378         $(OBJ)\ntlm/compare_name.obj \
379         $(OBJ)\ntlm/context_time.obj \
380         $(OBJ)\ntlm/crypto.obj \
381         $(OBJ)\ntlm/delete_sec_context.obj \
382         $(OBJ)\ntlm/display_name.obj \
383         $(OBJ)\ntlm/display_status.obj \
384         $(OBJ)\ntlm/duplicate_name.obj \
385         $(OBJ)\ntlm/export_name.obj \
386         $(OBJ)\ntlm/export_sec_context.obj \
387         $(OBJ)\ntlm/external.obj \
388         $(OBJ)\ntlm/import_name.obj \
389         $(OBJ)\ntlm/import_sec_context.obj \
390         $(OBJ)\ntlm/indicate_mechs.obj \
391         $(OBJ)\ntlm/init_sec_context.obj \
392         $(OBJ)\ntlm/inquire_context.obj \
393         $(OBJ)\ntlm/inquire_cred.obj \
394         $(OBJ)\ntlm/inquire_cred_by_mech.obj \
395         $(OBJ)\ntlm/inquire_mechs_for_name.obj \
396         $(OBJ)\ntlm/inquire_names_for_mech.obj \
397         $(OBJ)\ntlm/process_context_token.obj \
398         $(OBJ)\ntlm/release_cred.obj \
399         $(OBJ)\ntlm/release_name.obj \
400         $(OBJ)\ntlm/kdc.obj \
401         $(OBJ)\gkrb5_err.obj \
402         $(spnego_files:.x=.obj) \
403         $(gssapi_files:.x=.obj)
405 GCOPTS=-I$(SRCDIR) -I$(OBJ) -Igssapi -DBUILD_GSSAPI_LIB
407 {$(OBJ)\krb5}.c{$(OBJ)\krb5}.obj::
408         $(C2OBJ_NP) -Fo$(OBJ)\krb5\ -Fd$(OBJ)\krb5\ -I$(OBJ)\krb5 $(GCOPTS)
410 {krb5}.c{$(OBJ)\krb5}.obj::
411         $(C2OBJ_NP) -Fo$(OBJ)\krb5\ -Fd$(OBJ)\krb5\ -I$(OBJ)\krb5 $(GCOPTS)
413 {$(OBJ)\mech}.c{$(OBJ)\mech}.obj::
414         $(C2OBJ_NP) -Fo$(OBJ)\mech\ -Fd$(OBJ)\mech\ -I$(OBJ)\mech $(GCOPTS)
416 {mech}.c{$(OBJ)\mech}.obj::
417         $(C2OBJ_NP) -Fo$(OBJ)\mech\ -Fd$(OBJ)\mech\ -I$(OBJ)\mech -I$(OBJ)\gssapi $(GCOPTS)
419 {$(OBJ)\ntlm}.c{$(OBJ)\ntlm}.obj::
420         $(C2OBJ_NP) -Fo$(OBJ)\ntlm\ -Fd$(OBJ)\ntlm\ -I$(OBJ)\ntlm $(GCOPTS)
422 {ntlm}.c{$(OBJ)\ntlm}.obj::
423         $(C2OBJ_NP) -Fo$(OBJ)\ntlm\ -Fd$(OBJ)\ntlm\ -I$(OBJ)\ntlm $(GCOPTS)
425 {$(OBJ)\spnego}.c{$(OBJ)\spnego}.obj::
426         $(C2OBJ_NP) -Fo$(OBJ)\spnego\ -Fd$(OBJ)\spnego\ -I$(OBJ)\spnego $(GCOPTS)
428 {spnego}.c{$(OBJ)\spnego}.obj::
429         $(C2OBJ_NP) -Fo$(OBJ)\spnego\ -Fd$(OBJ)\spnego\ -I$(OBJ)\spnego -Imech $(GCOPTS)
431 {$(OBJ)\gssapi}.c{$(OBJ)\gssapi}.obj::
432         $(C2OBJ_NP) -Fo$(OBJ)\gssapi\ -Fd$(OBJ)\gssapi\ -I$(OBJ)\gssapi $(GCOPTS)
434 {}.c{$(OBJ)}.obj::
435         $(C2OBJ_P) $(GCOPTS)
437 {$(OBJ)}.c{$(OBJ)}.obj::
438         $(C2OBJ_P) $(GCOPTS)
440 {$(OBJ)\spnego}.x{$(OBJ)\spnego}.c:
441         $(CP) $** $@
443 {$(OBJ)\gssapi}.x{$(OBJ)\gssapi}.c:
444         $(CP) $** $@
446 {gssapi}.h{$(INCDIR)\gssapi}.h:
447         $(CP) $** $@
449 {$(OBJ)\gssapi}.hx{$(OBJ)\gssapi}.h:
450         $(CP) $** $@
452 {$(OBJ)\spnego}.hx{$(OBJ)\spnego}.h:
453         $(CP) $** $@
455 LIBGSSAPI_LIBS=\
456         $(LIBROKEN)     \
457         $(LIBHEIMDAL)   \
458         $(LIBHEIMNTLM)  \
459         $(LIBCOMERR)
461 LIBGSSAPI_SDKLIBS=\
462         $(PTHREAD_LIB)
464 !ifndef STATICLIBS
466 RES=$(OBJ)\libgssapi-version.res
468 $(BINDIR)\libgssapi.dll: $(libgssapi_OBJs) $(RES)
469         $(DLLGUILINK_C) -implib:$(LIBGSSAPI)    \
470                 -out:$(BINDIR)\libgssapi.dll    \
471                 -def:libgssapi-exports.def      \
472                 $(LIBGSSAPI_LIBS) $(RES) $(LIBGSSAPI_SDKLIBS) @<<
473 $(libgssapi_OBJs: =
476         $(DLLPREP)
478 $(LIBGSSAPI): $(BINDIR)\libgssapi.dll
480 clean::
481         -$(RM) $(BINDIR)\libgssapi.dll
483 !else
485 $(LIBGSSAPI): $(libgssapi_OBJs)
486         $(LIBCON_C) -OUT:$@ $(LIBGSSAPI_LIBS) $(LIBGSSAPI_SDKLIBS) @<<
487 $(libgssapi_OBJs: =
491 !endif
493 all:: $(LIBGSSAPI)
495 clean::
496         -$(RM) $(LIBGSSAPI)
498 prep:: mkdirs-gss
500 mkdirs-gss:
501 !if !exist($(OBJ)\ntlm)
502         $(MKDIR) $(OBJ)\ntlm
503 !endif
504 !if !exist($(OBJ)\krb5)
505         $(MKDIR) $(OBJ)\krb5
506 !endif
507 !if !exist($(OBJ)\spnego)
508         $(MKDIR) $(OBJ)\spnego
509 !endif
510 !if !exist($(OBJ)\mech)
511         $(MKDIR) $(OBJ)\mech
512 !endif
513 !if !exist($(OBJ)\gssapi)
514         $(MKDIR) $(OBJ)\gssapi
515 !endif
517 clean::
518         -$(RM) $(OBJ)\ntlm\*.*
519         -$(RM) $(OBJ)\krb5\*.*
520         -$(RM) $(OBJ)\spnego\*.*
521         -$(RM) $(OBJ)\mech\*.*
522         -$(RM) $(OBJ)\gssapi\*.*
524 !ifdef ELISP
525 # This macro invocation is used to update the libgssapi_OBJs
526 # definition below (generate-obj-macro is defined in maint.el):
528 (generate-obj-macro "libgssapi_OBJs"
529                     (concat "\t$(OBJ)\\gkrb5_err.obj \\\n"
530                             "\t$(spnego_files:.x=.obj) \\\n"
531                             "\t$(gssapi_files:.x=.obj)")
532                     "krb5src" "mechsrc" "spnegosrc" "ntlmsrc")
533 !endif