174 lines
5.5 KiB
Makefile
174 lines
5.5 KiB
Makefile
# 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)
|