1# Id
2
3include $(top_srcdir)/Makefile.am.common
4
5AM_CPPFLAGS += -I../com_err -I$(srcdir)/../com_err $(INCLUDE_sqlite3) $(INCLUDE_libintl) $(INCLUDE_openssl_crypto)
6
7bin_PROGRAMS = verify_krb5_conf
8
9noinst_PROGRAMS =                                 \
10          krbhst-test                                       \
11          test_alname                                       \
12          test_crypto                                       \
13          test_forward                                      \
14          test_get_addrs                                    \
15          test_gic                                \
16          test_kuserok                                      \
17          test_renew                                        \
18          test_rfc3961
19
20
21noinst_LTLIBRARIES =                                        \
22          librfc3961.la
23
24TESTS =                                                     \
25          aes-test                                \
26          derived-key-test                        \
27          n-fold-test                                       \
28          parse-name-test                                   \
29          pseudo-random-test                      \
30          store-test                                        \
31          string-to-key-test                      \
32          test_acl                                \
33          test_addr                               \
34          test_cc                                           \
35          test_config                                       \
36          test_fx                                           \
37          test_prf                                \
38          test_store                                        \
39          test_crypto_wrapping                              \
40          test_keytab                                       \
41          test_mem                                \
42          test_pac                                \
43          test_plugin                                       \
44          test_princ                                        \
45          test_pkinit_dh2key                      \
46          test_pknistkdf                                    \
47          test_time                               \
48          test_expand_toks                        \
49          test_x500
50
51check_DATA = test_config_strings.out
52
53check_PROGRAMS = $(TESTS) test_hostname test_ap-req test_canon test_set_kvno0
54
55LDADD = libkrb5.la \
56          $(LIB_hcrypto) \
57          $(top_builddir)/lib/asn1/libasn1.la \
58          $(top_builddir)/lib/wind/libwind.la \
59          $(LIB_heimbase) $(LIB_roken)
60
61if PKINIT
62LIB_pkinit = ../hx509/libhx509.la
63endif
64
65if have_scc
66use_sqlite = $(LIB_sqlite3)
67endif
68
69libkrb5_la_LIBADD = \
70          $(top_builddir)/lib/asn1/libasn1.la \
71          $(top_builddir)/lib/ipc/libheim-ipcc.la \
72          $(top_builddir)/lib/wind/libwind.la \
73          $(top_builddir)/lib/base/libheimbase.la \
74          $(LIB_pkinit) \
75          $(LIB_openssl_crypto) \
76          $(use_sqlite) \
77          $(LIB_com_err) \
78          $(LIB_hcrypto) \
79          $(LIB_libintl) \
80          $(LIBADD_roken) \
81          $(PTHREAD_LIBADD) \
82          $(LIB_door_create) \
83          $(LIB_dlopen)
84
85librfc3961_la_LIBADD = \
86          $(top_builddir)/lib/asn1/libasn1.la \
87          $(top_builddir)/lib/ipc/libheim-ipcc.la \
88          $(top_builddir)/lib/wind/libwind.la \
89          $(LIB_pkinit) \
90          $(use_sqlite) \
91          $(LIB_com_err) \
92          $(LIB_hcrypto) \
93          $(LIB_libintl) \
94          $(LIBADD_roken) \
95          $(PTHREAD_LIBADD) \
96          $(LIB_door_create) \
97          $(LIB_dlopen)
98
99lib_LTLIBRARIES = libkrb5.la
100
101ERR_FILES = krb5_err.c krb_err.c heim_err.c k524_err.c
102
103libkrb5_la_CPPFLAGS = \
104          -DBUILD_KRB5_LIB \
105          $(AM_CPPFLAGS) \
106          -DHEIMDAL_LOCALEDIR='"$(localedir)"'
107
108librfc3961_la_CPPFLAGS = \
109          -DBUILD_KRB5_LIB \
110          $(AM_CPPFLAGS) \
111          -DHEIMDAL_LOCALEDIR='"$(localedir)"'
112
113dist_libkrb5_la_SOURCES =                         \
114          acache.c                                \
115          acl.c                                             \
116          add_et_list.c                                     \
117          addr_families.c                                   \
118          an2ln_plugin.h                                    \
119          aname_to_localname.c                              \
120          appdefault.c                                      \
121          asn1_glue.c                                       \
122          auth_context.c                                    \
123          build_ap_req.c                                    \
124          build_auth.c                                      \
125          cache.c                                           \
126          changepw.c                                        \
127          codec.c                                           \
128          config_file.c                                     \
129          convert_creds.c                                   \
130          constants.c                                       \
131          context.c                               \
132          copy_host_realm.c                       \
133          crc.c                                             \
134          creds.c                                           \
135          crypto.c                                \
136          crypto.h                                \
137          crypto-aes-sha1.c                       \
138          crypto-aes-sha2.c                       \
139          crypto-algs.c                                     \
140          crypto-arcfour.c                        \
141          crypto-des.c                                      \
142          crypto-des-common.c                     \
143          crypto-des3.c                                     \
144          crypto-evp.c                                      \
145          crypto-null.c                                     \
146          crypto-pk.c                                       \
147          crypto-rand.c                                     \
148          doxygen.c                               \
149          data.c                                            \
150          db_plugin.c                                       \
151          db_plugin.h                                       \
152          dcache.c                                \
153          deprecated.c                                      \
154          digest.c                                \
155          eai_to_heim_errno.c                     \
156        enomem.c                                \
157          error_string.c                                    \
158          expand_hostname.c                       \
159          expand_path.c                                     \
160          fast.c                                            \
161          fcache.c                                \
162          free.c                                            \
163          free_host_realm.c                       \
164          generate_seq_number.c                             \
165          generate_subkey.c                       \
166          get_addrs.c                                       \
167          get_cred.c                                        \
168          get_default_principal.c                           \
169          get_default_realm.c                     \
170          get_for_creds.c                                   \
171          get_host_realm.c                        \
172          get_in_tkt.c                                      \
173          get_port.c                                        \
174          init_creds.c                                      \
175          init_creds_pw.c                                   \
176          kcm.c                                             \
177          kcm.h                                             \
178          keyblock.c                                        \
179          keytab.c                                \
180          keytab_any.c                                      \
181          keytab_file.c                                     \
182          keytab_keyfile.c                        \
183          keytab_memory.c                                   \
184          krb5_locl.h                                       \
185          krb5-v4compat.h                                   \
186          krbhst.c                                \
187          kuserok.c                               \
188          kuserok_plugin.h                        \
189          log.c                                             \
190          mcache.c                                \
191          misc.c                                            \
192          mk_error.c                                        \
193          mk_priv.c                               \
194          mk_rep.c                                \
195          mk_req.c                                \
196          mk_req_ext.c                                      \
197          mk_safe.c                               \
198          mit_glue.c                                        \
199          net_read.c                                        \
200          net_write.c                                       \
201          n-fold.c                                \
202          pac.c                                             \
203          padata.c                                \
204          pcache.c                                \
205          pkinit.c                                \
206          pkinit-ec.c                                       \
207          principal.c                                       \
208          prog_setup.c                                      \
209          prompter_posix.c                        \
210          rd_cred.c                               \
211          rd_error.c                                        \
212          rd_priv.c                               \
213          rd_rep.c                                \
214          rd_req.c                                \
215          rd_safe.c                               \
216          read_message.c                                    \
217          recvauth.c                                        \
218          replay.c                                \
219          salt.c                                            \
220          salt-aes-sha1.c                                   \
221          salt-aes-sha2.c                                   \
222          salt-arcfour.c                                    \
223          salt-des.c                                        \
224          salt-des3.c                                       \
225          sp800-108-kdf.c                                   \
226          scache.c                                \
227          send_to_kdc.c                                     \
228          sendauth.c                                        \
229          set_default_realm.c                     \
230          sock_principal.c                        \
231          store.c                                           \
232          store-int.c                                       \
233          store-int.h                                       \
234          store_emem.c                                      \
235          store_fd.c                                        \
236          store_mem.c                                       \
237          store_sock.c                                      \
238          plugin.c                                \
239          ticket.c                                \
240          time.c                                            \
241          transited.c                                       \
242          verify_init.c                                     \
243          verify_user.c                                     \
244          version.c                               \
245          warn.c                                            \
246          write_message.c
247
248nodist_libkrb5_la_SOURCES =                       \
249          $(ERR_FILES)
250
251libkrb5_la_DEPENDENCIES =                         \
252          version-script.map
253
254libkrb5_la_LDFLAGS = -version-info 26:0:0
255
256if versionscript
257libkrb5_la_LDFLAGS += $(LDFLAGS_VERSION_SCRIPT)$(srcdir)/version-script.map
258endif
259
260ALL_OBJECTS  = $(libkrb5_la_OBJECTS)
261ALL_OBJECTS += $(verify_krb5_conf_OBJECTS)
262ALL_OBJECTS += $(librfc3961_la_OBJECTS)
263ALL_OBJECTS += $(librfc3961_la_OBJECTS)
264ALL_OBJECTS += $(krbhst_test_OBJECTS)
265ALL_OBJECTS += $(test_alname_OBJECTS)
266ALL_OBJECTS += $(test_crypto_OBJECTS)
267ALL_OBJECTS += $(test_forward_OBJECTS)
268ALL_OBJECTS += $(test_get_addrs_OBJECTS)
269ALL_OBJECTS += $(test_gic_OBJECTS)
270ALL_OBJECTS += $(test_kuserok_OBJECTS)
271ALL_OBJECTS += $(test_renew_OBJECTS)
272ALL_OBJECTS += $(test_rfc3961_OBJECTS)
273
274$(ALL_OBJECTS): $(srcdir)/krb5-protos.h $(srcdir)/krb5-private.h
275$(ALL_OBJECTS): krb5_err.h heim_err.h k524_err.h krb5_err.h krb_err.h k524_err.h
276
277librfc3961_la_SOURCES =                                     \
278          crc.c                                             \
279          crypto.c                                \
280          crypto.h                                \
281          crypto-aes-sha1.c                       \
282          crypto-aes-sha2.c                       \
283          crypto-algs.c                                     \
284          crypto-arcfour.c                        \
285          crypto-des.c                                      \
286          crypto-des-common.c                     \
287          crypto-des3.c                                     \
288          crypto-evp.c                                      \
289          crypto-null.c                                     \
290          crypto-pk.c                                       \
291          crypto-rand.c                                     \
292          crypto-stubs.c                                    \
293          data.c                                            \
294          enomem.c                                \
295          error_string.c                                    \
296          keyblock.c                                        \
297          n-fold.c                                \
298          salt.c                                            \
299          salt-aes-sha1.c                                   \
300          salt-aes-sha2.c                                   \
301          salt-arcfour.c                                    \
302          salt-des.c                                        \
303          salt-des3.c                                       \
304          sp800-108-kdf.c                                   \
305          store-int.c                                       \
306          warn.c
307
308test_rfc3961_LDADD =                                        \
309          librfc3961.la                                     \
310          $(top_builddir)/lib/asn1/libasn1.la     \
311          $(top_builddir)/lib/wind/libwind.la     \
312          $(LIB_hcrypto)                                    \
313          $(LIB_roken)
314
315if DEVELOPER_MODE
316headerdeps = $(dist_libkrb5_la_SOURCES)
317endif
318
319$(srcdir)/krb5-protos.h: $(headerdeps)
320          @cd $(srcdir) && perl ../../cf/make-proto.pl -E KRB5_LIB -q -P comment -o krb5-protos.h $(dist_libkrb5_la_SOURCES) || rm -f krb5-protos.h
321
322$(srcdir)/krb5-private.h: $(headerdeps)
323          @cd $(srcdir) && perl ../../cf/make-proto.pl -q -P comment -p krb5-private.h $(dist_libkrb5_la_SOURCES) || rm -f krb5-private.h
324
325man_MANS =                                                  \
326          kerberos.8                                        \
327          krb5.conf.5                                       \
328          krb5-plugin.7                                     \
329          krb524_convert_creds_kdc.3              \
330          krb5_425_conv_principal.3               \
331          krb5_acl_match_file.3                             \
332          krb5_aname_to_localname.3               \
333          krb5_appdefault.3                       \
334          krb5_auth_context.3                     \
335          krb5_c_make_checksum.3                            \
336          krb5_check_transited.3                            \
337          krb5_create_checksum.3                            \
338          krb5_creds.3                                      \
339          krb5_digest.3                                     \
340          krb5_eai_to_heim_errno.3                \
341          krb5_encrypt.3                                    \
342          krb5_find_padata.3                      \
343          krb5_generate_random_block.3            \
344          krb5_get_all_client_addrs.3             \
345          krb5_get_credentials.3                            \
346          krb5_get_creds.3                        \
347          krb5_get_forwarded_creds.3              \
348          krb5_get_in_cred.3                      \
349          krb5_get_init_creds.3                             \
350          krb5_get_krbhst.3                       \
351          krb5_getportbyname.3                              \
352          krb5_init_context.3                     \
353          krb5_is_thread_safe.3                             \
354          krb5_krbhst_init.3                      \
355          krb5_mk_req.3                                     \
356          krb5_mk_safe.3                                    \
357          krb5_openlog.3                                    \
358          krb5_parse_name.3                       \
359          krb5_principal.3                        \
360          krb5_rcache.3                                     \
361          krb5_rd_error.3                                   \
362          krb5_rd_safe.3                                    \
363          krb5_set_default_realm.3                \
364          krb5_set_password.3                     \
365          krb5_string_to_key.3                              \
366          krb5_timeofday.3                        \
367          krb5_verify_init_creds.3                \
368          krb5_verify_user.3                      \
369          verify_krb5_conf.8
370
371dist_include_HEADERS = \
372          krb5.h \
373          $(srcdir)/krb5-protos.h \
374          krb5_ccapi.h
375
376noinst_HEADERS = $(srcdir)/krb5-private.h
377
378
379nodist_include_HEADERS = krb5_err.h heim_err.h k524_err.h
380
381# XXX use nobase_include_HEADERS = krb5/locate_plugin.h
382krb5dir = $(includedir)/krb5
383krb5_HEADERS = locate_plugin.h send_to_kdc_plugin.h ccache_plugin.h an2ln_plugin.h db_plugin.h
384
385build_HEADERZ = \
386          $(krb5_HEADERS) \
387          krb_err.h
388
389CLEANFILES = \
390          test_config_strings.out \
391          test-store-data \
392          krb5_err.c krb5_err.h \
393          krb_err.c krb_err.h \
394          heim_err.c heim_err.h \
395          k524_err.c k524_err.h
396
397$(libkrb5_la_OBJECTS): krb5_err.h krb_err.h heim_err.h k524_err.h
398
399test_config_strings.out: test_config_strings.cfg
400          $(CP) $(srcdir)/test_config_strings.cfg test_config_strings.out
401
402EXTRA_DIST = \
403          NTMakefile \
404          config_reg.c \
405          dll.c \
406          libkrb5-exports.def.in \
407          verify_krb5_conf-version.rc \
408          krb5_err.et \
409          krb_err.et \
410          heim_err.et \
411          k524_err.et \
412          $(man_MANS) \
413          version-script.map \
414          test_config_strings.cfg \
415          krb5.moduli
416
417#sysconf_DATA = krb5.moduli
418
419# to help stupid solaris make
420
421krb5_err.h: krb5_err.et
422
423krb_err.h: krb_err.et
424
425heim_err.h: heim_err.et
426
427k524_err.h: k524_err.et
428