Android.mk revision 9caf492818a4cc51ba471534d3fcaa84c9ce0278
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 := -Wall -Werror -Wno-unused-parameter -DUSE_BINDER_IPC
21trunksIncludes := $(LOCAL_PATH)/.. external/gtest/include
22trunksSharedLibraries := \
23  libbinder \
24  libbinderwrapper \
25  libbrillo \
26  libbrillo-binder \
27  libchrome \
28  libchrome-crypto \
29  libcrypto \
30  libprotobuf-cpp-lite \
31  libutils \
32
33# libtrunks_generated
34# ========================================================
35include $(CLEAR_VARS)
36LOCAL_MODULE := libtrunks_generated
37LOCAL_MODULE_CLASS := STATIC_LIBRARIES
38LOCAL_CPP_EXTENSION := $(trunksCppExtension)
39LOCAL_CFLAGS := $(trunksCFlags)
40LOCAL_CLANG := true
41proto_include := $(call local-generated-sources-dir)/proto/$(LOCAL_PATH)/..
42aidl_include := $(call local-generated-sources-dir)/aidl-generated/include
43LOCAL_C_INCLUDES := $(proto_include) $(aidl_include) $(trunksIncludes)
44LOCAL_EXPORT_C_INCLUDE_DIRS := $(proto_include) $(aidl_include)
45LOCAL_SHARED_LIBRARIES := $(trunksSharedLibraries)
46LOCAL_SRC_FILES := \
47  interface.proto \
48  aidl/android/trunks/ITrunks.aidl \
49  aidl/android/trunks/ITrunksClient.aidl \
50
51LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/aidl
52include $(BUILD_STATIC_LIBRARY)
53
54# libtrunks_common
55# ========================================================
56include $(CLEAR_VARS)
57LOCAL_MODULE := libtrunks_common
58LOCAL_CPP_EXTENSION := $(trunksCppExtension)
59LOCAL_CFLAGS := $(trunksCFlags)
60LOCAL_CLANG := true
61LOCAL_C_INCLUDES := $(trunksIncludes)
62LOCAL_SHARED_LIBRARIES := $(trunksSharedLibraries)
63LOCAL_STATIC_LIBRARIES := libtrunks_generated
64LOCAL_SRC_FILES := \
65  background_command_transceiver.cc \
66  blob_parser.cc \
67  error_codes.cc \
68  hmac_authorization_delegate.cc \
69  hmac_session_impl.cc \
70  password_authorization_delegate.cc \
71  policy_session_impl.cc \
72  scoped_key_handle.cc \
73  session_manager_impl.cc \
74  tpm_generated.cc \
75  tpm_state_impl.cc \
76  tpm_utility_impl.cc \
77  trunks_factory_impl.cc \
78
79include $(BUILD_STATIC_LIBRARY)
80
81# trunksd
82# ========================================================
83include $(CLEAR_VARS)
84LOCAL_MODULE := trunksd
85LOCAL_CPP_EXTENSION := $(trunksCppExtension)
86LOCAL_CFLAGS := $(trunksCFlags)
87ifeq ($(BRILLOEMULATOR),true)
88LOCAL_CFLAGS += -DUSE_SIMULATOR
89endif
90LOCAL_CLANG := true
91ifeq ($(BRILLOEMULATOR),true)
92LOCAL_INIT_RC := trunksd-simulator.rc
93else
94LOCAL_INIT_RC := trunksd.rc
95endif
96LOCAL_C_INCLUDES := $(trunksIncludes)
97LOCAL_SHARED_LIBRARIES := \
98  $(trunksSharedLibraries) \
99  libbrillo-minijail \
100  libminijail \
101
102ifeq ($(BRILLOEMULATOR),true)
103LOCAL_SHARED_LIBRARIES += libtpm2
104endif
105LOCAL_STATIC_LIBRARIES := \
106  libtrunks_generated \
107  libtrunks_common \
108
109LOCAL_REQUIRED_MODULES := \
110  com.android.Trunks.conf \
111  trunksd-seccomp.policy \
112
113LOCAL_SRC_FILES := \
114  resource_manager.cc \
115  tpm_handle.cc \
116  tpm_simulator_handle.cc \
117  trunks_binder_service.cc \
118  trunksd.cc \
119
120include $(BUILD_EXECUTABLE)
121
122# trunksd-seccomp.policy
123# ========================================================
124include $(CLEAR_VARS)
125LOCAL_MODULE := trunksd-seccomp.policy
126LOCAL_MODULE_CLASS := ETC
127LOCAL_MODULE_PATH := $(TARGET_OUT)/usr/share/policy/
128LOCAL_SRC_FILES := trunksd-seccomp-$(TARGET_ARCH).policy
129include $(BUILD_PREBUILT)
130
131# libtrunks
132# ========================================================
133include $(CLEAR_VARS)
134LOCAL_MODULE := libtrunks
135LOCAL_CPP_EXTENSION := $(trunksCppExtension)
136LOCAL_CFLAGS := $(trunksCFlags)
137LOCAL_CLANG := true
138LOCAL_C_INCLUDES := $(trunksIncludes)
139LOCAL_SHARED_LIBRARIES := $(trunksSharedLibraries)
140LOCAL_STATIC_LIBRARIES := \
141  libtrunks_common \
142  libtrunks_generated \
143
144LOCAL_SRC_FILES := \
145  trunks_binder_proxy.cc \
146
147include $(BUILD_SHARED_LIBRARY)
148
149# trunks_client
150# ========================================================
151include $(CLEAR_VARS)
152LOCAL_MODULE := trunks_client
153LOCAL_CPP_EXTENSION := $(trunksCppExtension)
154LOCAL_CFLAGS := $(trunksCFlags)
155LOCAL_CLANG := true
156LOCAL_C_INCLUDES := $(trunksIncludes)
157LOCAL_SHARED_LIBRARIES := $(trunksSharedLibraries) libtrunks
158LOCAL_STATIC_LIBRARIES := libtrunks_common
159LOCAL_SRC_FILES := \
160  trunks_client.cc \
161  trunks_client_test.cc \
162
163include $(BUILD_EXECUTABLE)
164
165# Target unit tests
166# ========================================================
167include $(CLEAR_VARS)
168LOCAL_MODULE := trunks_test
169LOCAL_MODULE_TAGS := debug
170LOCAL_CPP_EXTENSION := $(trunksCppExtension)
171LOCAL_CFLAGS := $(trunksCFlags)
172LOCAL_CLANG := true
173LOCAL_C_INCLUDES := $(trunksIncludes)
174LOCAL_SHARED_LIBRARIES := $(trunksSharedLibraries)
175LOCAL_SRC_FILES := \
176  background_command_transceiver_test.cc \
177  hmac_authorization_delegate_test.cc \
178  hmac_session_test.cc \
179  mock_authorization_delegate.cc \
180  mock_blob_parser.cc \
181  mock_command_transceiver.cc \
182  mock_hmac_session.cc \
183  mock_policy_session.cc \
184  mock_session_manager.cc \
185  mock_tpm.cc \
186  mock_tpm_state.cc \
187  mock_tpm_utility.cc \
188  password_authorization_delegate_test.cc \
189  policy_session_test.cc \
190  resource_manager.cc \
191  resource_manager_test.cc \
192  scoped_key_handle_test.cc \
193  session_manager_test.cc \
194  tpm_generated_test.cc \
195  tpm_state_test.cc \
196  tpm_utility_test.cc \
197  trunks_factory_for_test.cc \
198
199LOCAL_STATIC_LIBRARIES := \
200  libgmock \
201  libgtest \
202  libBionicGtestMain \
203  libtrunks_common \
204  libtrunks_generated \
205
206include $(BUILD_NATIVE_TEST)
207