Android.mk revision b180754b429c078cbc99175a6059a8b5d0491002
1# Copyright (C) 2015 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15LOCAL_PATH := $(call my-dir)
16
17# Common variables
18# ========================================================
19trunksCppExtension := .cc
20trunksCFlags := \
21  -Wall -Werror \
22  -Wno-unused-parameter \
23  -DUSE_BINDER_IPC \
24  -fvisibility=hidden \
25
26trunksIncludes := $(LOCAL_PATH)/..
27trunksSharedLibraries := \
28  libbinder \
29  libbinderwrapper \
30  libbrillo \
31  libbrillo-binder \
32  libchrome \
33  libchrome-crypto \
34  libcrypto \
35  libprotobuf-cpp-lite \
36  libutils \
37
38# libtrunks_generated
39# ========================================================
40include $(CLEAR_VARS)
41LOCAL_MODULE := libtrunks_generated
42LOCAL_MODULE_CLASS := STATIC_LIBRARIES
43LOCAL_CPP_EXTENSION := $(trunksCppExtension)
44LOCAL_CFLAGS := $(trunksCFlags)
45LOCAL_CLANG := true
46proto_include := $(call local-generated-sources-dir)/proto/$(LOCAL_PATH)/..
47aidl_include := $(call local-generated-sources-dir)/aidl-generated/include
48LOCAL_C_INCLUDES := $(proto_include) $(aidl_include) $(trunksIncludes)
49LOCAL_EXPORT_C_INCLUDE_DIRS := $(proto_include) $(aidl_include)
50LOCAL_SHARED_LIBRARIES := $(trunksSharedLibraries)
51LOCAL_SRC_FILES := \
52  interface.proto \
53  aidl/android/trunks/ITrunks.aidl \
54  aidl/android/trunks/ITrunksClient.aidl \
55
56LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/aidl
57include $(BUILD_STATIC_LIBRARY)
58
59# libtrunks_common
60# ========================================================
61include $(CLEAR_VARS)
62LOCAL_MODULE := libtrunks_common
63LOCAL_CPP_EXTENSION := $(trunksCppExtension)
64LOCAL_CFLAGS := $(trunksCFlags)
65LOCAL_CLANG := true
66LOCAL_C_INCLUDES := $(trunksIncludes)
67LOCAL_SHARED_LIBRARIES := $(trunksSharedLibraries)
68LOCAL_STATIC_LIBRARIES := libtrunks_generated
69LOCAL_SRC_FILES := \
70  background_command_transceiver.cc \
71  blob_parser.cc \
72  error_codes.cc \
73  hmac_authorization_delegate.cc \
74  hmac_session_impl.cc \
75  password_authorization_delegate.cc \
76  policy_session_impl.cc \
77  scoped_key_handle.cc \
78  session_manager_impl.cc \
79  tpm_generated.cc \
80  tpm_state_impl.cc \
81  tpm_utility_impl.cc \
82  trunks_factory_impl.cc \
83
84include $(BUILD_STATIC_LIBRARY)
85
86# trunksd
87# ========================================================
88include $(CLEAR_VARS)
89LOCAL_MODULE := trunksd
90LOCAL_CPP_EXTENSION := $(trunksCppExtension)
91LOCAL_CFLAGS := $(trunksCFlags)
92ifeq ($(BRILLOEMULATOR),true)
93LOCAL_CFLAGS += -DUSE_SIMULATOR
94endif
95LOCAL_CLANG := true
96ifeq ($(BRILLOEMULATOR),true)
97LOCAL_INIT_RC := trunksd-simulator.rc
98else
99LOCAL_INIT_RC := trunksd.rc
100endif
101LOCAL_C_INCLUDES := $(trunksIncludes)
102LOCAL_SHARED_LIBRARIES := \
103  $(trunksSharedLibraries) \
104  libbrillo-minijail \
105  libminijail \
106
107ifeq ($(BRILLOEMULATOR),true)
108LOCAL_SHARED_LIBRARIES += libtpm2
109endif
110LOCAL_STATIC_LIBRARIES := \
111  libtrunks_generated \
112  libtrunks_common \
113
114LOCAL_REQUIRED_MODULES := \
115  trunksd-seccomp.policy \
116
117LOCAL_SRC_FILES := \
118  resource_manager.cc \
119  tpm_handle.cc \
120  tpm_simulator_handle.cc \
121  trunks_binder_service.cc \
122  trunksd.cc \
123
124include $(BUILD_EXECUTABLE)
125
126# trunksd-seccomp.policy
127# ========================================================
128include $(CLEAR_VARS)
129LOCAL_MODULE := trunksd-seccomp.policy
130LOCAL_MODULE_CLASS := ETC
131LOCAL_MODULE_PATH := $(TARGET_OUT)/usr/share/policy/
132LOCAL_SRC_FILES := trunksd-seccomp-$(TARGET_ARCH).policy
133include $(BUILD_PREBUILT)
134
135# libtrunks
136# ========================================================
137include $(CLEAR_VARS)
138LOCAL_MODULE := libtrunks
139LOCAL_CPP_EXTENSION := $(trunksCppExtension)
140LOCAL_CFLAGS := $(trunksCFlags)
141LOCAL_CLANG := true
142LOCAL_C_INCLUDES := $(trunksIncludes)
143LOCAL_SHARED_LIBRARIES := $(trunksSharedLibraries)
144
145LOCAL_WHOLE_STATIC_LIBRARIES := \
146  libtrunks_common \
147  libtrunks_generated \
148
149LOCAL_SRC_FILES := \
150  trunks_binder_proxy.cc \
151
152include $(BUILD_SHARED_LIBRARY)
153
154# trunks_client
155# ========================================================
156include $(CLEAR_VARS)
157LOCAL_MODULE := trunks_client
158LOCAL_CPP_EXTENSION := $(trunksCppExtension)
159LOCAL_CFLAGS := $(trunksCFlags)
160LOCAL_CLANG := true
161LOCAL_C_INCLUDES := $(trunksIncludes)
162LOCAL_SHARED_LIBRARIES := $(trunksSharedLibraries) libtrunks
163LOCAL_SRC_FILES := \
164  trunks_client.cc \
165  trunks_client_test.cc \
166
167include $(BUILD_EXECUTABLE)
168
169# libtrunks_test
170# ========================================================
171include $(CLEAR_VARS)
172LOCAL_MODULE := libtrunks_test
173LOCAL_MODULE_TAGS := eng
174LOCAL_CPP_EXTENSION := $(trunksCppExtension)
175LOCAL_CFLAGS := $(trunksCFlags)
176LOCAL_CLANG := true
177LOCAL_C_INCLUDES := $(trunksIncludes)
178LOCAL_SHARED_LIBRARIES := $(trunksSharedLibraries)
179LOCAL_SRC_FILES := \
180  mock_authorization_delegate.cc \
181  mock_blob_parser.cc \
182  mock_command_transceiver.cc \
183  mock_hmac_session.cc \
184  mock_policy_session.cc \
185  mock_session_manager.cc \
186  mock_tpm.cc \
187  mock_tpm_state.cc \
188  mock_tpm_utility.cc \
189  trunks_factory_for_test.cc \
190
191LOCAL_STATIC_LIBRARIES := \
192  libgmock \
193
194include $(BUILD_STATIC_LIBRARY)
195
196# Target unit tests
197# ========================================================
198include $(CLEAR_VARS)
199LOCAL_MODULE := trunks_test
200LOCAL_MODULE_TAGS := eng
201LOCAL_CPP_EXTENSION := $(trunksCppExtension)
202LOCAL_CFLAGS := $(trunksCFlags)
203LOCAL_CLANG := true
204LOCAL_C_INCLUDES := $(trunksIncludes)
205LOCAL_SHARED_LIBRARIES := $(trunksSharedLibraries)
206LOCAL_SRC_FILES := \
207  background_command_transceiver_test.cc \
208  hmac_authorization_delegate_test.cc \
209  hmac_session_test.cc \
210  password_authorization_delegate_test.cc \
211  policy_session_test.cc \
212  resource_manager.cc \
213  resource_manager_test.cc \
214  scoped_key_handle_test.cc \
215  session_manager_test.cc \
216  tpm_generated_test.cc \
217  tpm_state_test.cc \
218  tpm_utility_test.cc \
219
220LOCAL_STATIC_LIBRARIES := \
221  libBionicGtestMain \
222  libgmock \
223  libtrunks_common \
224  libtrunks_generated \
225  libtrunks_test \
226
227include $(BUILD_NATIVE_TEST)
228