libimcv: Implemented IETF SW PA-TNC attributes
[strongswan.git] / src / libimcv / Makefile.am
1 AM_CPPFLAGS = \
2         -I$(top_srcdir)/src/libstrongswan \
3         -I$(top_srcdir)/src/libtncif \
4         -I$(top_srcdir)/src/libtpmtss \
5         -DIPSEC_SCRIPT=\"${ipsec_script}\" \
6         -DSWID_DIRECTORY=\"${prefix}/share\"
7
8 ipseclib_LTLIBRARIES = libimcv.la
9
10 libimcv_la_LDFLAGS = \
11         -no-undefined
12
13 libimcv_la_LIBADD = \
14         $(top_builddir)/src/libstrongswan/libstrongswan.la \
15         $(top_builddir)/src/libtncif/libtncif.la \
16         $(top_builddir)/src/libtpmtss/libtpmtss.la
17
18 if USE_WINDOWS
19   libimcv_la_LIBADD += -lws2_32
20 endif
21
22 libimcv_la_SOURCES = \
23         imcv.h imcv.c \
24         imc/imc_agent.h imc/imc_agent.c imc/imc_state.h \
25         imc/imc_msg.h imc/imc_msg.c \
26         imc/imc_os_info.h imc/imc_os_info.c \
27         imv/imv_agent.h imv/imv_agent.c imv/imv_state.h \
28         imv/imv_agent_if.h imv/imv_if.h \
29         imv/imv_database.h imv/imv_database.c \
30         imv/imv_msg.h imv/imv_msg.c \
31         imv/imv_lang_string.h imv/imv_lang_string.c \
32         imv/imv_os_info.h imv/imv_os_info.c \
33         imv/imv_reason_string.h imv/imv_reason_string.c \
34         imv/imv_remediation_string.h imv/imv_remediation_string.c \
35         imv/imv_session.h imv/imv_session.c \
36         imv/imv_session_manager.h imv/imv_session_manager.c \
37         imv/imv_workitem.h imv/imv_workitem.c \
38         generic/generic_attr_bool.h generic/generic_attr_bool.c \
39         generic/generic_attr_chunk.h generic/generic_attr_chunk.c \
40         generic/generic_attr_string.h generic/generic_attr_string.c \
41         ietf/ietf_attr.h ietf/ietf_attr.c \
42         ietf/ietf_attr_assess_result.h ietf/ietf_attr_assess_result.c \
43         ietf/ietf_attr_attr_request.h ietf/ietf_attr_attr_request.c \
44         ietf/ietf_attr_fwd_enabled.h ietf/ietf_attr_fwd_enabled.c \
45         ietf/ietf_attr_installed_packages.h ietf/ietf_attr_installed_packages.c \
46         ietf/ietf_attr_numeric_version.h ietf/ietf_attr_numeric_version.c \
47         ietf/ietf_attr_op_status.h ietf/ietf_attr_op_status.c \
48         ietf/ietf_attr_pa_tnc_error.h ietf/ietf_attr_pa_tnc_error.c \
49         ietf/ietf_attr_port_filter.h ietf/ietf_attr_port_filter.c \
50         ietf/ietf_attr_product_info.h ietf/ietf_attr_product_info.c \
51         ietf/ietf_attr_remediation_instr.h ietf/ietf_attr_remediation_instr.c \
52         ietf/ietf_attr_string_version.h ietf/ietf_attr_string_version.c \
53         ietf/swima/ietf_swima_attr_req.h ietf/swima/ietf_swima_attr_req.c \
54         ietf/swima/ietf_swima_attr_sw_inv.h ietf/swima/ietf_swima_attr_sw_inv.c \
55         ietf/swima/ietf_swima_attr_sw_ev.h ietf/swima/ietf_swima_attr_sw_ev.c \
56         ita/ita_attr.h ita/ita_attr.c \
57         ita/ita_attr_command.h ita/ita_attr_command.c \
58         ita/ita_attr_dummy.h ita/ita_attr_dummy.c \
59         ita/ita_attr_get_settings.h ita/ita_attr_get_settings.c \
60         ita/ita_attr_settings.h ita/ita_attr_settings.c \
61         ita/ita_attr_angel.h ita/ita_attr_angel.c \
62         os_info/os_info.h os_info/os_info.c \
63         pa_tnc/pa_tnc_attr.h \
64         pa_tnc/pa_tnc_msg.h pa_tnc/pa_tnc_msg.c \
65         pa_tnc/pa_tnc_attr_manager.h pa_tnc/pa_tnc_attr_manager.c \
66         pts/pts.h pts/pts.c \
67         pts/pts_error.h pts/pts_error.c \
68         pts/pts_pcr.h pts/pts_pcr.c \
69         pts/pts_proto_caps.h \
70         pts/pts_req_func_comp_evid.h \
71         pts/pts_creds.h pts/pts_creds.c \
72         pts/pts_database.h pts/pts_database.c \
73         pts/pts_dh_group.h pts/pts_dh_group.c \
74         pts/pts_file_meas.h pts/pts_file_meas.c \
75         pts/pts_file_meta.h pts/pts_file_meta.c \
76         pts/pts_file_type.h pts/pts_file_type.c \
77         pts/pts_ima_bios_list.h pts/pts_ima_bios_list.c \
78         pts/pts_ima_event_list.h pts/pts_ima_event_list.c \
79         pts/pts_meas_algo.h pts/pts_meas_algo.c \
80         pts/components/pts_component.h \
81         pts/components/pts_component_manager.h pts/components/pts_component_manager.c \
82         pts/components/pts_comp_evidence.h pts/components/pts_comp_evidence.c \
83         pts/components/pts_comp_func_name.h pts/components/pts_comp_func_name.c \
84         pts/components/ita/ita_comp_func_name.h pts/components/ita/ita_comp_func_name.c \
85         pts/components/ita/ita_comp_ima.h pts/components/ita/ita_comp_ima.c \
86         pts/components/ita/ita_comp_tboot.h pts/components/ita/ita_comp_tboot.c \
87         pts/components/ita/ita_comp_tgrub.h pts/components/ita/ita_comp_tgrub.c \
88         pts/components/tcg/tcg_comp_func_name.h pts/components/tcg/tcg_comp_func_name.c \
89         pwg/pwg_attr.h pwg/pwg_attr.c \
90         pwg/pwg_attr_vendor_smi_code.h pwg/pwg_attr_vendor_smi_code.c \
91         seg/seg_contract.h seg/seg_contract.c \
92         seg/seg_contract_manager.h seg/seg_contract_manager.c \
93         seg/seg_env.h seg/seg_env.c \
94         swid/swid_error.h swid/swid_error.c \
95         swid/swid_inventory.h swid/swid_inventory.c \
96         swid/swid_tag.h swid/swid_tag.c \
97         swid/swid_tag_id.h swid/swid_tag_id.c \
98         swima/swima_data_model.h swima/swima_data_model.c \
99         swima/swima_record.h swima/swima_record.c \
100         swima/swima_event.h swima/swima_event.c \
101         swima/swima_events.h swima/swima_events.c \
102         swima/swima_inventory.h swima/swima_inventory.c \
103         swima/swima_collector.h swima/swima_collector.c \
104         swima/swima_error.h swima/swima_error.c \
105         tcg/tcg_attr.h tcg/tcg_attr.c \
106         tcg/pts/tcg_pts_attr_proto_caps.h tcg/pts/tcg_pts_attr_proto_caps.c \
107         tcg/pts/tcg_pts_attr_dh_nonce_params_req.h tcg/pts/tcg_pts_attr_dh_nonce_params_req.c \
108         tcg/pts/tcg_pts_attr_dh_nonce_params_resp.h tcg/pts/tcg_pts_attr_dh_nonce_params_resp.c \
109         tcg/pts/tcg_pts_attr_dh_nonce_finish.h tcg/pts/tcg_pts_attr_dh_nonce_finish.c \
110         tcg/pts/tcg_pts_attr_meas_algo.h tcg/pts/tcg_pts_attr_meas_algo.c \
111         tcg/pts/tcg_pts_attr_get_tpm_version_info.h tcg/pts/tcg_pts_attr_get_tpm_version_info.c \
112         tcg/pts/tcg_pts_attr_tpm_version_info.h tcg/pts/tcg_pts_attr_tpm_version_info.c \
113         tcg/pts/tcg_pts_attr_get_aik.h tcg/pts/tcg_pts_attr_get_aik.c \
114         tcg/pts/tcg_pts_attr_aik.h tcg/pts/tcg_pts_attr_aik.c \
115         tcg/pts/tcg_pts_attr_req_func_comp_evid.h tcg/pts/tcg_pts_attr_req_func_comp_evid.c \
116         tcg/pts/tcg_pts_attr_gen_attest_evid.h tcg/pts/tcg_pts_attr_gen_attest_evid.c \
117         tcg/pts/tcg_pts_attr_simple_comp_evid.h tcg/pts/tcg_pts_attr_simple_comp_evid.c \
118         tcg/pts/tcg_pts_attr_simple_evid_final.h tcg/pts/tcg_pts_attr_simple_evid_final.c \
119         tcg/pts/tcg_pts_attr_req_file_meas.h tcg/pts/tcg_pts_attr_req_file_meas.c \
120         tcg/pts/tcg_pts_attr_file_meas.h tcg/pts/tcg_pts_attr_file_meas.c \
121         tcg/pts/tcg_pts_attr_req_file_meta.h tcg/pts/tcg_pts_attr_req_file_meta.c \
122         tcg/pts/tcg_pts_attr_unix_file_meta.h tcg/pts/tcg_pts_attr_unix_file_meta.c \
123         tcg/seg/tcg_seg_attr_max_size.h tcg/seg/tcg_seg_attr_max_size.c \
124         tcg/seg/tcg_seg_attr_seg_env.h tcg/seg/tcg_seg_attr_seg_env.c \
125         tcg/seg/tcg_seg_attr_next_seg.h tcg/seg/tcg_seg_attr_next_seg.c \
126         tcg/swid/tcg_swid_attr_req.h tcg/swid/tcg_swid_attr_req.c \
127         tcg/swid/tcg_swid_attr_tag_id_inv.h tcg/swid/tcg_swid_attr_tag_id_inv.c \
128         tcg/swid/tcg_swid_attr_tag_inv.h tcg/swid/tcg_swid_attr_tag_inv.c
129
130 ipsec_SCRIPTS = imv/_imv_policy
131 EXTRA_DIST = imv/_imv_policy Android.mk
132
133 templatesdir = $(pkgdatadir)/templates/database/imv
134 dist_templates_DATA = imv/tables.sql imv/tables-mysql.sql imv/data.sql
135
136 ipsec_PROGRAMS = imv_policy_manager
137 imv_policy_manager_SOURCES = \
138         imv/imv_policy_manager.c \
139         imv/imv_policy_manager_usage.h imv/imv_policy_manager_usage.c
140 imv_policy_manager_LDADD = \
141         $(top_builddir)/src/libstrongswan/libstrongswan.la \
142         $(top_builddir)/src/libtncif/libtncif.la
143 #imv/imv_policy_manager.o :     $(top_builddir)/config.status
144
145 SUBDIRS = .
146
147 if USE_IMC_TEST
148   SUBDIRS += plugins/imc_test
149 endif
150
151 if USE_IMV_TEST
152   SUBDIRS += plugins/imv_test
153 endif
154
155 if USE_IMC_SCANNER
156   SUBDIRS += plugins/imc_scanner
157 endif
158
159 if USE_IMV_SCANNER
160   SUBDIRS += plugins/imv_scanner
161 endif
162
163 if USE_IMC_OS
164   SUBDIRS += plugins/imc_os
165 endif
166
167 if USE_IMV_OS
168   SUBDIRS += plugins/imv_os
169 endif
170
171 if USE_IMC_ATTESTATION
172   SUBDIRS += plugins/imc_attestation
173 endif
174
175 if USE_IMV_ATTESTATION
176   SUBDIRS += plugins/imv_attestation
177 endif
178
179 if USE_IMC_SWID
180   SUBDIRS += plugins/imc_swid
181 endif
182
183 if USE_IMV_SWID
184   SUBDIRS += plugins/imv_swid
185 endif
186
187 if USE_IMC_HCD
188   SUBDIRS += plugins/imc_hcd
189 endif
190
191 if USE_IMV_HCD
192   SUBDIRS += plugins/imv_hcd
193 endif
194
195 TESTS = imcv_tests
196
197 check_PROGRAMS = $(TESTS)
198
199 imcv_tests_SOURCES = \
200         ita/ita_attr_command.c \
201         pa_tnc/pa_tnc_attr_manager.c \
202         seg/seg_env.c seg/seg_contract.c \
203         seg/seg_contract_manager.c \
204         suites/test_imcv_seg.c \
205         ietf/ietf_attr_pa_tnc_error.c \
206         ietf/swima/ietf_swima_attr_req.c \
207         ietf/swima/ietf_swima_attr_sw_inv.c \
208         tcg/seg/tcg_seg_attr_seg_env.c \
209         imcv.c imcv_tests.h imcv_tests.c
210
211 imcv_tests_CFLAGS = \
212         -I$(top_srcdir)/src/libimcv \
213         -I$(top_srcdir)/src/libstrongswan \
214         -I$(top_srcdir)/src/libstrongswan/tests \
215         @COVERAGE_CFLAGS@
216
217 imcv_tests_LDFLAGS = @COVERAGE_LDFLAGS@
218 imcv_tests_LDADD = \
219         $(top_builddir)/src/libimcv/libimcv.la \
220         $(top_builddir)/src/libtpmtss/libtpmtss.la \
221         $(top_builddir)/src/libstrongswan/libstrongswan.la \
222         $(top_builddir)/src/libstrongswan/tests/libtest.la