| # Copyright (C) 2016 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| LOCAL_PATH := $(call my-dir) |
| |
| # Common variables |
| # ======================================================== |
| defaultCppExtension := .cc |
| defaultCFlags := \ |
| -Wall -Werror \ |
| -Wno-unused-parameter \ |
| -fvisibility=hidden \ |
| -DUSE_TPM2 \ |
| -DUSE_BINDER_IPC |
| defaultIncludes := $(LOCAL_PATH)/.. |
| defaultSharedLibraries := \ |
| libbase \ |
| libbinder \ |
| libbinderwrapper \ |
| libbrillo \ |
| libbrillo-binder \ |
| libchrome \ |
| libchrome-crypto \ |
| libcrypto \ |
| libprotobuf-cpp-lite \ |
| libtrunks \ |
| libutils |
| |
| # libtpm_manager_generated |
| # ======================================================== |
| include $(CLEAR_VARS) |
| LOCAL_MODULE := libtpm_manager_generated |
| LOCAL_MODULE_CLASS := STATIC_LIBRARIES |
| LOCAL_CPP_EXTENSION := $(defaultCppExtension) |
| LOCAL_CFLAGS := $(defaultCFlags) -fvisibility=default |
| LOCAL_CLANG := true |
| proto_include := $(call local-generated-sources-dir)/proto/$(LOCAL_PATH)/.. |
| aidl_include := $(call local-generated-sources-dir)/aidl-generated/include |
| LOCAL_C_INCLUDES := $(proto_include) $(aidl_include) $(defaultIncludes) |
| LOCAL_EXPORT_C_INCLUDE_DIRS := $(proto_include) $(aidl_include) |
| LOCAL_SHARED_LIBRARIES := $(defaultSharedLibraries) |
| LOCAL_SRC_FILES := \ |
| common/tpm_manager.proto \ |
| aidl/android/tpm_manager/ITpmManagerClient.aidl \ |
| aidl/android/tpm_manager/ITpmNvram.aidl \ |
| aidl/android/tpm_manager/ITpmOwnership.aidl |
| LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/aidl |
| include $(BUILD_STATIC_LIBRARY) |
| |
| # libtpm_manager_common |
| # ======================================================== |
| include $(CLEAR_VARS) |
| LOCAL_MODULE := libtpm_manager_common |
| LOCAL_CPP_EXTENSION := $(defaultCppExtension) |
| LOCAL_CFLAGS := $(defaultCFlags) -fvisibility=default |
| LOCAL_CLANG := true |
| LOCAL_C_INCLUDES := $(defaultIncludes) |
| LOCAL_SHARED_LIBRARIES := $(defaultSharedLibraries) |
| LOCAL_STATIC_LIBRARIES := libtpm_manager_generated |
| LOCAL_SRC_FILES := \ |
| common/print_tpm_manager_proto.cc |
| include $(BUILD_STATIC_LIBRARY) |
| |
| # libtpm_manager_server |
| # ======================================================== |
| include $(CLEAR_VARS) |
| LOCAL_MODULE := libtpm_manager_server |
| LOCAL_CPP_EXTENSION := $(defaultCppExtension) |
| LOCAL_CFLAGS := $(defaultCFlags) |
| LOCAL_CLANG := true |
| LOCAL_C_INCLUDES := $(defaultIncludes) |
| LOCAL_SHARED_LIBRARIES := $(defaultSharedLibraries) |
| LOCAL_STATIC_LIBRARIES := libtpm_manager_generated |
| LOCAL_SRC_FILES := \ |
| server/binder_service.cc \ |
| server/local_data_store_impl.cc \ |
| server/openssl_crypto_util_impl.cc \ |
| server/tpm2_initializer_impl.cc \ |
| server/tpm2_nvram_impl.cc \ |
| server/tpm2_status_impl.cc \ |
| server/tpm_manager_service.cc |
| include $(BUILD_STATIC_LIBRARY) |
| |
| # tpm_managerd |
| # ======================================================== |
| include $(CLEAR_VARS) |
| LOCAL_MODULE := tpm_managerd |
| LOCAL_CPP_EXTENSION := $(defaultCppExtension) |
| LOCAL_CFLAGS := $(defaultCFlags) |
| LOCAL_CLANG := true |
| LOCAL_INIT_RC := server/tpm_managerd.rc |
| LOCAL_C_INCLUDES := $(defaultIncludes) |
| LOCAL_SHARED_LIBRARIES := $(defaultSharedLibraries) |
| LOCAL_STATIC_LIBRARIES := \ |
| libtpm_manager_server \ |
| libtpm_manager_common \ |
| libtpm_manager_generated |
| LOCAL_SRC_FILES := \ |
| server/main.cc |
| |
| include $(BUILD_EXECUTABLE) |
| |
| # libtpm_manager |
| # ======================================================== |
| include $(CLEAR_VARS) |
| LOCAL_MODULE := libtpm_manager |
| LOCAL_CPP_EXTENSION := $(defaultCppExtension) |
| LOCAL_CFLAGS := $(defaultCFlags) |
| LOCAL_CLANG := true |
| LOCAL_C_INCLUDES := $(defaultIncludes) |
| LOCAL_SHARED_LIBRARIES := $(defaultSharedLibraries) |
| LOCAL_WHOLE_STATIC_LIBRARIES := \ |
| libtpm_manager_common \ |
| libtpm_manager_generated |
| LOCAL_SRC_FILES := \ |
| client/tpm_nvram_binder_proxy.cc \ |
| client/tpm_ownership_binder_proxy.cc |
| include $(BUILD_SHARED_LIBRARY) |
| |
| # tpm_manager_client |
| # ======================================================== |
| include $(CLEAR_VARS) |
| LOCAL_MODULE := tpm_manager_client |
| LOCAL_CPP_EXTENSION := $(defaultCppExtension) |
| LOCAL_CFLAGS := $(defaultCFlags) |
| LOCAL_CLANG := true |
| LOCAL_C_INCLUDES := $(defaultIncludes) |
| LOCAL_SHARED_LIBRARIES := $(defaultSharedLibraries) libtpm_manager |
| LOCAL_SRC_FILES := \ |
| client/main.cc |
| include $(BUILD_EXECUTABLE) |
| |
| # Target unit tests |
| # ======================================================== |
| include $(CLEAR_VARS) |
| LOCAL_MODULE := tpm_manager_test |
| LOCAL_MODULE_TAGS := eng |
| LOCAL_CPP_EXTENSION := $(defaultCppExtension) |
| LOCAL_CFLAGS := $(defaultCFlags) -Wno-sign-compare |
| LOCAL_CLANG := true |
| LOCAL_C_INCLUDES := $(defaultIncludes) |
| LOCAL_SHARED_LIBRARIES := $(defaultSharedLibraries) libtpm_manager |
| LOCAL_SRC_FILES := \ |
| common/mock_tpm_nvram_interface.cc \ |
| common/mock_tpm_ownership_interface.cc \ |
| server/binder_service_test.cc \ |
| server/mock_local_data_store.cc \ |
| server/mock_openssl_crypto_util.cc \ |
| server/mock_tpm_initializer.cc \ |
| server/mock_tpm_nvram.cc \ |
| server/mock_tpm_status.cc \ |
| server/tpm2_initializer_test.cc \ |
| server/tpm2_nvram_test.cc \ |
| server/tpm2_status_test.cc \ |
| server/tpm_manager_service_test.cc |
| LOCAL_STATIC_LIBRARIES := \ |
| libBionicGtestMain \ |
| libgmock \ |
| libtpm_manager_common \ |
| libtpm_manager_generated \ |
| libtpm_manager_server \ |
| libtrunks_test |
| include $(BUILD_NATIVE_TEST) |