kdc: Fix build race
[metze/heimdal/wip.git] / kdc / Makefile.am
1 # $Id$
2
3 include $(top_srcdir)/Makefile.am.common
4
5 AM_CPPFLAGS += $(INCLUDE_libintl) $(INCLUDE_openssl_crypto) -I$(srcdir)/../lib/krb5
6
7 lib_LTLIBRARIES = simple_csr_authorizer.la  ipc_csr_authorizer.la \
8                   libkdc.la negotiate_token_validator.la
9
10 if HAVE_CJWT
11 lib_LTLIBRARIES += cjwt_token_validator.la
12 endif
13
14 bin_PROGRAMS = string2key
15
16 sbin_PROGRAMS = kstash
17
18 libexec_PROGRAMS = hprop hpropd kdc digest-service \
19                    test_token_validator test_csr_authorizer test_kdc_ca
20
21 noinst_PROGRAMS = kdc-replay kdc-tester
22
23 man_MANS = kdc.8 kstash.8 hprop.8 hpropd.8 string2key.8
24
25 hprop_SOURCES = hprop.c mit_dump.c hprop.h
26 hpropd_SOURCES = hpropd.c hprop.h
27
28 kstash_SOURCES = kstash.c headers.h
29
30 string2key_SOURCES = string2key.c headers.h
31
32 if HAVE_MICROHTTPD
33 bx509d_SOURCES = bx509d.c
34 bx509d_AM_CPPFLAGS = $(AM_CPPFLAGS) $(MICROHTTPD_CFLAGS)
35 bx509d_LDADD =  -ldl \
36                  libkdc.la \
37                  $(MICROHTTPD_LIBS) \
38                  $(LIB_roken) \
39                  $(LIB_heimbase) \
40                  $(top_builddir)/lib/sl/libsl.la \
41                  $(top_builddir)/lib/asn1/libasn1.la \
42                  $(top_builddir)/lib/krb5/libkrb5.la \
43                  $(top_builddir)/lib/hx509/libhx509.la \
44                  $(top_builddir)/lib/gssapi/libgssapi.la
45 libexec_PROGRAMS += bx509d
46 endif
47
48 digest_service_SOURCES = \
49         digest-service.c
50
51 kdc_SOURCES = connect.c \
52         config.c        \
53         announce.c      \
54         main.c
55
56 kdc_tester_SOURCES = \
57         config.c        \
58         kdc-tester.c
59
60 test_token_validator_SOURCES = test_token_validator.c
61 test_csr_authorizer_SOURCES = test_csr_authorizer.c
62 test_kdc_ca_SOURCES = test_kdc_ca.c
63
64 # Token plugins (for bx509d)
65 if HAVE_CJWT
66 cjwt_token_validator_la_SOURCES = cjwt_token_validator.c
67 cjwt_token_validator_la_CFLAGS = $(CJSON_CFLAGS) $(CJWT_CFLAGS)
68 cjwt_token_validator_la_LDFLAGS = -module $(CJSON_LIBS) $(CJWT_LIBS)
69 endif
70
71 negotiate_token_validator_la_SOURCES = negotiate_token_validator.c
72 negotiate_token_validator_la_LDFLAGS = -module $(top_builddir)/lib/gssapi/libgssapi.la
73 # CSR Authorizer plugins (for kdc/kx509 and bx509d)
74 simple_csr_authorizer_la_SOURCES = simple_csr_authorizer.c
75 simple_csr_authorizer_la_LDFLAGS = -module
76 ipc_csr_authorizer_la_SOURCES = ipc_csr_authorizer.c
77 ipc_csr_authorizer_la_LDFLAGS = -module \
78                                 $(top_builddir)/lib/krb5/libkrb5.la \
79                                 $(top_builddir)/lib/hx509/libhx509.la \
80                                 $(top_builddir)/lib/ipc/libheim-ipcc.la \
81                                 $(top_builddir)/lib/roken/libroken.la
82
83 libkdc_la_SOURCES =             \
84         default_config.c        \
85         ca.c                    \
86         set_dbinfo.c            \
87         digest.c                \
88         fast.c                  \
89         kdc_locl.h              \
90         kerberos5.c             \
91         krb5tgs.c               \
92         pkinit.c                \
93         pkinit-ec.c             \
94         log.c                   \
95         misc.c                  \
96         kx509.c                 \
97         token_validator.c       \
98         csr_authorizer.c        \
99         process.c               \
100         windc.c                 \
101         rx.h
102
103 KDC_PROTOS = $(srcdir)/kdc-protos.h $(srcdir)/kdc-private.h
104
105 ALL_OBJECTS  = $(kdc_OBJECTS)
106 ALL_OBJECTS += $(kdc_replay_OBJECTS)
107 ALL_OBJECTS += $(kdc_tester_OBJECTS)
108 ALL_OBJECTS += $(test_token_validator_OBJECTS)
109 ALL_OBJECTS += $(test_csr_authorizer_OBJECTS)
110 ALL_OBJECTS += $(test_kdc_ca_OBJECTS)
111 ALL_OBJECTS += $(libkdc_la_OBJECTS)
112 ALL_OBJECTS += $(string2key_OBJECTS)
113 ALL_OBJECTS += $(kstash_OBJECTS)
114 ALL_OBJECTS += $(hprop_OBJECTS)
115 ALL_OBJECTS += $(hpropd_OBJECTS)
116 ALL_OBJECTS += $(digest_service_OBJECTS)
117 ALL_OBJECTS += $(bx509d_OBJECTS)
118 ALL_OBJECTS += $(cjwt_token_validator_la_OBJECTS)
119 ALL_OBJECTS += $(simple_csr_authorizer_la_OBJECTS)
120 ALL_OBJECTS += $(test_token_validator_OBJECTS)
121 ALL_OBJECTS += $(test_csr_authorizer_OBJECTS)
122 ALL_OBJECTS += $(test_kdc_ca_OBJECTS)
123 ALL_OBJECTS += $(ipc_csr_authorizer_la_OBJECTS)
124 ALL_OBJECTS += $(negotiate_token_validator_la_OBJECTS)
125
126 $(ALL_OBJECTS): $(KDC_PROTOS)
127
128 libkdc_la_LDFLAGS = -version-info 2:0:0
129
130 if versionscript
131 libkdc_la_LDFLAGS += $(LDFLAGS_VERSION_SCRIPT)$(srcdir)/version-script.map
132 endif
133 $(libkdc_la_OBJECTS): $(srcdir)/version-script.map
134
135 $(srcdir)/kdc-protos.h: $(libkdc_la_SOURCES)
136         cd $(srcdir) && perl ../cf/make-proto.pl -q -P comment -o kdc-protos.h $(libkdc_la_SOURCES) || rm -f kdc-protos.h
137
138 $(srcdir)/kdc-private.h: $(libkdc_la_SOURCES)
139         cd $(srcdir) && perl ../cf/make-proto.pl -q -P comment -p kdc-private.h $(libkdc_la_SOURCES) || rm -f kdc-private.h
140
141
142 hprop_LDADD = \
143         $(top_builddir)/lib/hdb/libhdb.la \
144         $(top_builddir)/lib/krb5/libkrb5.la \
145         $(LIB_kdb)  \
146         $(LIB_hcrypto) \
147         $(top_builddir)/lib/asn1/libasn1.la \
148         $(LIB_roken) \
149         $(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB)
150
151 hpropd_LDADD = \
152         $(top_builddir)/lib/hdb/libhdb.la \
153         $(top_builddir)/lib/krb5/libkrb5.la \
154         $(LIB_kdb)  \
155         $(LIB_hcrypto) \
156         $(top_builddir)/lib/asn1/libasn1.la \
157         $(LIB_roken) \
158         $(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB)
159
160 if PKINIT
161 LIB_pkinit = $(top_builddir)/lib/hx509/libhx509.la
162 endif
163
164 libkdc_la_LIBADD = \
165         $(LIB_pkinit) \
166         $(top_builddir)/lib/hdb/libhdb.la \
167         $(top_builddir)/lib/krb5/libkrb5.la \
168         $(LIB_kdb)  \
169         $(top_builddir)/lib/ntlm/libheimntlm.la \
170         $(LIB_hcrypto) \
171         $(LIB_openssl_crypto) \
172         $(top_builddir)/lib/asn1/libasn1.la \
173         $(LIB_roken) \
174         $(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB)
175
176 LDADD = $(top_builddir)/lib/hdb/libhdb.la \
177         $(top_builddir)/lib/krb5/libkrb5.la \
178         $(LIB_hcrypto) \
179         $(top_builddir)/lib/asn1/libasn1.la \
180         $(LIB_roken) \
181         $(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB)
182
183 kdc_LDADD = libkdc.la $(LDADD) $(LIB_pidfile) $(CAPNG_LIBS)
184
185 if FRAMEWORK_SECURITY
186 kdc_LDFLAGS = -framework SystemConfiguration -framework CoreFoundation
187 endif
188 kdc_CFLAGS = $(CAPNG_CFLAGS)
189
190 digest_service_LDADD = \
191         libkdc.la \
192         $(top_builddir)/lib/ntlm/libheimntlm.la \
193         $(top_builddir)/lib/ipc/libheim-ipcs.la \
194         $(LDADD) $(LIB_pidfile)
195 kdc_replay_LDADD = libkdc.la $(LDADD) $(LIB_pidfile)
196 kdc_tester_LDADD = libkdc.la $(LDADD) $(LIB_pidfile) $(LIB_heimbase)
197 test_token_validator_LDADD = libkdc.la $(LDADD) $(LIB_pidfile) $(LIB_heimbase)
198 test_csr_authorizer_LDADD = libkdc.la $(top_builddir)/lib/hx509/libhx509.la $(LDADD) $(LIB_pidfile) $(LIB_heimbase)
199 test_kdc_ca_LDADD = libkdc.la $(top_builddir)/lib/hx509/libhx509.la $(LDADD) $(LIB_pidfile) $(LIB_heimbase)
200
201 include_HEADERS = kdc.h $(srcdir)/kdc-protos.h
202
203 noinst_HEADERS = $(srcdir)/kdc-private.h
204
205 krb5dir = $(includedir)/krb5
206 krb5_HEADERS = windc_plugin.h token_validator_plugin.h csr_authorizer_plugin.h
207
208 build_HEADERZ = $(krb5_HEADERS) # XXX
209
210 EXTRA_DIST = \
211         hprop-version.rc \
212         hpropd-version.rc \
213         kdc-version.rc \
214         kstash-version.rc \
215         libkdc-version.rc \
216         string2key-version.rc \
217         libkdc-exports.def \
218         NTMakefile $(man_MANS) version-script.map