1 LOCAL_PATH
:= $(call my-dir
)
4 # copy-n-paste from Makefile.am
5 libcharon_la_SOURCES
:= \
6 attributes
/attributes.c attributes
/attributes.h \
7 attributes
/attribute_provider.h attributes
/attribute_handler.h \
8 attributes
/attribute_manager.c attributes
/attribute_manager.h \
9 attributes
/mem_pool.c attributes
/mem_pool.h \
11 bus
/listeners
/listener.h \
12 bus
/listeners
/logger.h \
13 bus
/listeners
/custom_logger.h \
14 bus
/listeners
/file_logger.c bus
/listeners
/file_logger.h \
15 config
/backend_manager.c config
/backend_manager.h config
/backend.h \
16 config
/child_cfg.c config
/child_cfg.h \
17 config
/ike_cfg.c config
/ike_cfg.h \
18 config
/peer_cfg.c config
/peer_cfg.h \
19 config
/proposal.c config
/proposal.h \
20 control
/controller.c control
/controller.h \
22 encoding
/generator.c encoding
/generator.h \
23 encoding
/message.c encoding
/message.h \
24 encoding
/parser.c encoding
/parser.h \
25 encoding
/payloads
/auth_payload.c encoding
/payloads
/auth_payload.h \
26 encoding
/payloads
/cert_payload.c encoding
/payloads
/cert_payload.h \
27 encoding
/payloads
/certreq_payload.c encoding
/payloads
/certreq_payload.h \
28 encoding
/payloads
/configuration_attribute.c encoding
/payloads
/configuration_attribute.h \
29 encoding
/payloads
/cp_payload.c encoding
/payloads
/cp_payload.h \
30 encoding
/payloads
/delete_payload.c encoding
/payloads
/delete_payload.h \
31 encoding
/payloads
/eap_payload.c encoding
/payloads
/eap_payload.h \
32 encoding
/payloads
/encodings.c encoding
/payloads
/encodings.h \
33 encoding
/payloads
/encrypted_payload.c encoding
/payloads
/encrypted_payload.h \
34 encoding
/payloads
/encrypted_fragment_payload.h \
35 encoding
/payloads
/id_payload.c encoding
/payloads
/id_payload.h \
36 encoding
/payloads
/ike_header.c encoding
/payloads
/ike_header.h \
37 encoding
/payloads
/ke_payload.c encoding
/payloads
/ke_payload.h \
38 encoding
/payloads
/nonce_payload.c encoding
/payloads
/nonce_payload.h \
39 encoding
/payloads
/notify_payload.c encoding
/payloads
/notify_payload.h \
40 encoding
/payloads
/payload.c encoding
/payloads
/payload.h \
41 encoding
/payloads
/proposal_substructure.c encoding
/payloads
/proposal_substructure.h \
42 encoding
/payloads
/sa_payload.c encoding
/payloads
/sa_payload.h \
43 encoding
/payloads
/traffic_selector_substructure.c encoding
/payloads
/traffic_selector_substructure.h \
44 encoding
/payloads
/transform_attribute.c encoding
/payloads
/transform_attribute.h \
45 encoding
/payloads
/transform_substructure.c encoding
/payloads
/transform_substructure.h \
46 encoding
/payloads
/ts_payload.c encoding
/payloads
/ts_payload.h \
47 encoding
/payloads
/unknown_payload.c encoding
/payloads
/unknown_payload.h \
48 encoding
/payloads
/vendor_id_payload.c encoding
/payloads
/vendor_id_payload.h \
49 encoding
/payloads
/hash_payload.c encoding
/payloads
/hash_payload.h \
50 encoding
/payloads
/fragment_payload.c encoding
/payloads
/fragment_payload.h \
51 kernel
/kernel_interface.c kernel
/kernel_interface.h \
52 kernel
/kernel_ipsec.c kernel
/kernel_ipsec.h \
53 kernel
/kernel_net.c kernel
/kernel_net.h \
54 kernel
/kernel_listener.h kernel
/kernel_handler.c kernel
/kernel_handler.h \
55 network
/receiver.c network
/receiver.h network
/sender.c network
/sender.h \
56 network
/socket.c network
/socket.h \
57 network
/socket_manager.c network
/socket_manager.h \
58 processing
/jobs
/acquire_job.c processing
/jobs
/acquire_job.h \
59 processing
/jobs
/delete_child_sa_job.c processing
/jobs
/delete_child_sa_job.h \
60 processing
/jobs
/delete_ike_sa_job.c processing
/jobs
/delete_ike_sa_job.h \
61 processing
/jobs
/migrate_job.c processing
/jobs
/migrate_job.h \
62 processing
/jobs
/process_message_job.c processing
/jobs
/process_message_job.h \
63 processing
/jobs
/redirect_job.c processing
/jobs
/redirect_job.h \
64 processing
/jobs
/rekey_child_sa_job.c processing
/jobs
/rekey_child_sa_job.h \
65 processing
/jobs
/rekey_ike_sa_job.c processing
/jobs
/rekey_ike_sa_job.h \
66 processing
/jobs
/retransmit_job.c processing
/jobs
/retransmit_job.h \
67 processing
/jobs
/retry_initiate_job.c processing
/jobs
/retry_initiate_job.h \
68 processing
/jobs
/send_dpd_job.c processing
/jobs
/send_dpd_job.h \
69 processing
/jobs
/send_keepalive_job.c processing
/jobs
/send_keepalive_job.h \
70 processing
/jobs
/start_action_job.c processing
/jobs
/start_action_job.h \
71 processing
/jobs
/roam_job.c processing
/jobs
/roam_job.h \
72 processing
/jobs
/update_sa_job.c processing
/jobs
/update_sa_job.h \
73 processing
/jobs
/inactivity_job.c processing
/jobs
/inactivity_job.h \
74 processing
/jobs
/initiate_tasks_job.c processing
/jobs
/initiate_tasks_job.h \
75 sa
/eap
/eap_method.c sa
/eap
/eap_method.h sa
/eap
/eap_inner_method.h \
76 sa
/eap
/eap_manager.c sa
/eap
/eap_manager.h \
77 sa
/xauth
/xauth_method.c sa
/xauth
/xauth_method.h \
78 sa
/xauth
/xauth_manager.c sa
/xauth
/xauth_manager.h \
79 sa
/authenticator.c sa
/authenticator.h \
80 sa
/child_sa.c sa
/child_sa.h \
81 sa
/ike_sa.c sa
/ike_sa.h \
82 sa
/ike_sa_id.c sa
/ike_sa_id.h \
83 sa
/keymat.h sa
/keymat.c \
84 sa
/ike_sa_manager.c sa
/ike_sa_manager.h \
85 sa
/child_sa_manager.c sa
/child_sa_manager.h \
86 sa
/task_manager.h sa
/task_manager.c \
87 sa
/shunt_manager.c sa
/shunt_manager.h \
88 sa
/trap_manager.c sa
/trap_manager.h \
89 sa
/redirect_provider.h sa
/redirect_manager.c sa
/redirect_manager.h \
92 libcharon_la_SOURCES
+= \
93 sa
/ikev2
/keymat_v2.c sa
/ikev2
/keymat_v2.h \
94 sa
/ikev2
/task_manager_v2.c sa
/ikev2
/task_manager_v2.h \
95 sa
/ikev2
/authenticators
/eap_authenticator.c sa
/ikev2
/authenticators
/eap_authenticator.h \
96 sa
/ikev2
/authenticators
/psk_authenticator.c sa
/ikev2
/authenticators
/psk_authenticator.h \
97 sa
/ikev2
/authenticators
/pubkey_authenticator.c sa
/ikev2
/authenticators
/pubkey_authenticator.h \
98 sa
/ikev2
/tasks
/child_create.c sa
/ikev2
/tasks
/child_create.h \
99 sa
/ikev2
/tasks
/child_delete.c sa
/ikev2
/tasks
/child_delete.h \
100 sa
/ikev2
/tasks
/child_rekey.c sa
/ikev2
/tasks
/child_rekey.h \
101 sa
/ikev2
/tasks
/ike_auth.c sa
/ikev2
/tasks
/ike_auth.h \
102 sa
/ikev2
/tasks
/ike_cert_pre.c sa
/ikev2
/tasks
/ike_cert_pre.h \
103 sa
/ikev2
/tasks
/ike_cert_post.c sa
/ikev2
/tasks
/ike_cert_post.h \
104 sa
/ikev2
/tasks
/ike_config.c sa
/ikev2
/tasks
/ike_config.h \
105 sa
/ikev2
/tasks
/ike_delete.c sa
/ikev2
/tasks
/ike_delete.h \
106 sa
/ikev2
/tasks
/ike_dpd.c sa
/ikev2
/tasks
/ike_dpd.h \
107 sa
/ikev2
/tasks
/ike_init.c sa
/ikev2
/tasks
/ike_init.h \
108 sa
/ikev2
/tasks
/ike_natd.c sa
/ikev2
/tasks
/ike_natd.h \
109 sa
/ikev2
/tasks
/ike_mobike.c sa
/ikev2
/tasks
/ike_mobike.h \
110 sa
/ikev2
/tasks
/ike_rekey.c sa
/ikev2
/tasks
/ike_rekey.h \
111 sa
/ikev2
/tasks
/ike_reauth.c sa
/ikev2
/tasks
/ike_reauth.h \
112 sa
/ikev2
/tasks
/ike_reauth_complete.c sa
/ikev2
/tasks
/ike_reauth_complete.h \
113 sa
/ikev2
/tasks
/ike_redirect.c sa
/ikev2
/tasks
/ike_redirect.h \
114 sa
/ikev2
/tasks
/ike_auth_lifetime.c sa
/ikev2
/tasks
/ike_auth_lifetime.h \
115 sa
/ikev2
/tasks
/ike_vendor.c sa
/ikev2
/tasks
/ike_vendor.h \
116 sa
/ikev2
/tasks
/ike_verify_peer_cert.c sa
/ikev2
/tasks
/ike_verify_peer_cert.h
118 libcharon_la_SOURCES
+= \
119 sa
/ikev1
/keymat_v1.c sa
/ikev1
/keymat_v1.h \
120 sa
/ikev1
/task_manager_v1.c sa
/ikev1
/task_manager_v1.h \
121 sa
/ikev1
/authenticators
/psk_v1_authenticator.c sa
/ikev1
/authenticators
/psk_v1_authenticator.h \
122 sa
/ikev1
/authenticators
/pubkey_v1_authenticator.c sa
/ikev1
/authenticators
/pubkey_v1_authenticator.h \
123 sa
/ikev1
/authenticators
/hybrid_authenticator.c sa
/ikev1
/authenticators
/hybrid_authenticator.h \
124 sa
/ikev1
/phase1.c sa
/ikev1
/phase1.h \
125 sa
/ikev1
/tasks
/main_mode.c sa
/ikev1
/tasks
/main_mode.h \
126 sa
/ikev1
/tasks
/aggressive_mode.c sa
/ikev1
/tasks
/aggressive_mode.h \
127 sa
/ikev1
/tasks
/informational.c sa
/ikev1
/tasks
/informational.h \
128 sa
/ikev1
/tasks
/isakmp_cert_pre.c sa
/ikev1
/tasks
/isakmp_cert_pre.h \
129 sa
/ikev1
/tasks
/isakmp_cert_post.c sa
/ikev1
/tasks
/isakmp_cert_post.h \
130 sa
/ikev1
/tasks
/isakmp_natd.c sa
/ikev1
/tasks
/isakmp_natd.h \
131 sa
/ikev1
/tasks
/isakmp_vendor.c sa
/ikev1
/tasks
/isakmp_vendor.h \
132 sa
/ikev1
/tasks
/isakmp_delete.c sa
/ikev1
/tasks
/isakmp_delete.h \
133 sa
/ikev1
/tasks
/isakmp_dpd.c sa
/ikev1
/tasks
/isakmp_dpd.h \
134 sa
/ikev1
/tasks
/xauth.c sa
/ikev1
/tasks
/xauth.h \
135 sa
/ikev1
/tasks
/quick_mode.c sa
/ikev1
/tasks
/quick_mode.h \
136 sa
/ikev1
/tasks
/quick_delete.c sa
/ikev1
/tasks
/quick_delete.h \
137 sa
/ikev1
/tasks
/mode_config.c sa
/ikev1
/tasks
/mode_config.h \
138 processing
/jobs
/dpd_timeout_job.c processing
/jobs
/dpd_timeout_job.h \
139 processing
/jobs
/adopt_children_job.c processing
/jobs
/adopt_children_job.h
141 libcharon_la_SOURCES
+= \
142 bus
/listeners
/sys_logger.c bus
/listeners
/sys_logger.h
144 LOCAL_SRC_FILES
:= $(filter %.c
,$(libcharon_la_SOURCES
))
146 # adding the plugin source files
148 LOCAL_SRC_FILES
+= $(call add_plugin
, android-dns
)
149 ifneq ($(call plugin_enabled
, android-dns
),)
150 LOCAL_SHARED_LIBRARIES
+= libcutils
153 LOCAL_SRC_FILES
+= $(call add_plugin
, android-log
)
154 ifneq ($(call plugin_enabled
, android-log
),)
155 LOCAL_LDLIBS
+= -llog
158 LOCAL_SRC_FILES
+= $(call add_plugin
, attr
)
160 LOCAL_SRC_FILES
+= $(call add_plugin
, p-cscf
)
162 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-aka
)
164 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-aka-3gpp2
)
165 ifneq ($(call plugin_enabled
, eap-aka-3gpp2
),)
166 LOCAL_C_INCLUDES
+= $(libgmp_PATH
)
167 LOCAL_SHARED_LIBRARIES
+= libgmp
170 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-gtc
)
172 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-identity
)
174 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-md5
)
176 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-mschapv2
)
178 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-sim
)
180 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-simaka-sql
)
182 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-simaka-pseudonym
)
184 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-simaka-reauth
)
186 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-sim-file
)
188 # adding libakasim if either eap-aka or eap-sim is enabled
189 ifneq ($(or
$(call plugin_enabled
, eap-aka
), $(call plugin_enabled
, eap-sim
)),)
190 LOCAL_C_INCLUDES
+= $(LOCAL_PATH
)/..
/libsimaka
/
191 LOCAL_SRC_FILES
+= $(addprefix ..
/libsimaka
/, \
192 simaka_message.h simaka_message.c \
193 simaka_crypto.h simaka_crypto.c \
194 simaka_manager.h simaka_manager.c \
195 simaka_card.h simaka_provider.h simaka_hooks.h \
199 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-tls
)
201 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-ttls
)
202 ifneq ($(call plugin_enabled
, eap-ttls
),)
203 # for radius_message.h
204 LOCAL_C_INCLUDES
+= $(LOCAL_PATH
)/..
/libradius
/
207 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-peap
)
209 LOCAL_SRC_FILES
+= $(call add_plugin
, eap-tnc
)
210 ifneq ($(call plugin_enabled
, eap-tnc
),)
211 LOCAL_C_INCLUDES
+= $(LOCAL_PATH
)/..
/libtnccs
/ $(LOCAL_PATH
)/..
/libtncif
/
212 LOCAL_SHARED_LIBRARIES
+= libtnccs libtncif
215 # adding libtls if any of the four plugins above is enabled
216 ifneq ($(or
$(call plugin_enabled
, eap-tls
), $(call plugin_enabled
, eap-ttls
), \
217 $(call plugin_enabled
, eap-peap
), $(call plugin_enabled
, eap-tnc
)),)
218 LOCAL_C_INCLUDES
+= $(LOCAL_PATH
)/..
/libtls
/
219 LOCAL_SRC_FILES
+= $(addprefix ..
/libtls
/, \
220 tls_protection.c tls_compression.c tls_fragmentation.c tls_alert.c \
221 tls_crypto.c tls_prf.c tls_socket.c tls_eap.c tls_cache.c tls_peer.c \
222 tls_aead_expl.c tls_aead_impl.c tls_aead_null.c tls_aead.c \
227 LOCAL_SRC_FILES
+= $(call add_plugin
, load-tester
)
229 LOCAL_SRC_FILES
+= $(call add_plugin
, kernel-pfkey
)
231 LOCAL_SRC_FILES
+= $(call add_plugin
, kernel-netlink
)
233 LOCAL_SRC_FILES
+= $(call add_plugin
, socket-default
)
235 LOCAL_SRC_FILES
+= $(call add_plugin
, socket-dynamic
)
237 LOCAL_SRC_FILES
+= $(call add_plugin
, stroke
)
238 ifneq ($(call plugin_enabled
, stroke
),)
239 LOCAL_C_INCLUDES
+= $(LOCAL_PATH
)/..
/stroke
/
242 # build libcharon --------------------------------------------------------------
244 LOCAL_C_INCLUDES
+= \
245 $(strongswan_PATH
)/src
/libstrongswan
247 LOCAL_CFLAGS
:= $(strongswan_CFLAGS
)
249 LOCAL_MODULE
:= libcharon
251 LOCAL_MODULE_TAGS
:= optional
253 LOCAL_ARM_MODE
:= arm
255 LOCAL_PRELINK_MODULE
:= false
257 LOCAL_SHARED_LIBRARIES
+= libstrongswan
259 include $(BUILD_SHARED_LIBRARY
)