# # Copyright (C) 2009 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) # This has to be lazy-resolved because it depends on the LOCAL_MODULE_CLASS # which varies depending on what is being built. define keystore_proto_include $(call local-generated-sources-dir)/proto/$(LOCAL_PATH) endef ifneq ($(TARGET_BUILD_PDK),true) include $(CLEAR_VARS) ifeq ($(USE_32_BIT_KEYSTORE), true) LOCAL_MULTILIB := 32 endif LOCAL_CFLAGS := -Wall -Wextra -Werror -Wunused LOCAL_SRC_FILES := \ auth_token_table.cpp \ blob.cpp \ entropy.cpp \ key_store_service.cpp \ keystore_attestation_id.cpp \ keyblob_utils.cpp \ keystore.cpp \ keystore_main.cpp \ keystore_utils.cpp \ legacy_keymaster_device_wrapper.cpp \ keymaster_enforcement.cpp \ operation.cpp \ permissions.cpp \ user_state.cpp \ grant_store.cpp \ ../../../frameworks/base/core/java/android/security/keymaster/IKeyAttestationApplicationIdProvider.aidl LOCAL_SHARED_LIBRARIES := \ libbinder \ libcutils \ libcrypto \ libhardware \ libwifikeystorehal \ libkeystore_binder \ liblog \ libsoftkeymaster \ libutils \ libselinux \ libsoftkeymasterdevice \ libkeymaster_messages \ libkeymaster_portable \ libkeymaster_staging \ libhwbinder \ libhidlbase \ libhidltransport \ android.hardware.keymaster@3.0 \ android.system.wifi.keystore@1.0 LOCAL_HEADER_LIBRARIES := libbase_headers LOCAL_MODULE := keystore LOCAL_MODULE_TAGS := optional LOCAL_INIT_RC := keystore.rc LOCAL_C_INCLUES := system/keymaster/ LOCAL_CLANG := true LOCAL_SANITIZE := integer LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk LOCAL_AIDL_INCLUDES := frameworks/base/core/java/ include $(BUILD_EXECUTABLE) endif include $(CLEAR_VARS) ifeq ($(USE_32_BIT_KEYSTORE), true) LOCAL_MULTILIB := 32 endif LOCAL_CFLAGS := -Wall -Wextra -Werror LOCAL_SRC_FILES := keystore_cli.cpp LOCAL_SHARED_LIBRARIES := libcutils libcrypto libkeystore_binder libutils liblog libbinder \ libhwbinder \ libhidlbase \ android.hardware.keymaster@3.0 LOCAL_MODULE := keystore_cli LOCAL_MODULE_TAGS := debug LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk include $(BUILD_EXECUTABLE) include $(CLEAR_VARS) ifeq ($(USE_32_BIT_KEYSTORE), true) LOCAL_MULTILIB := 32 endif LOCAL_CFLAGS := -Wall -Wextra -Werror -Wno-unused-parameter -DKEYMASTER_NAME_TAGS LOCAL_SRC_FILES := keystore_cli_v2.cpp LOCAL_SHARED_LIBRARIES := \ libchrome \ libkeystore_binder \ libhwbinder \ libhidlbase \ android.hardware.keymaster@3.0 LOCAL_MODULE := keystore_cli_v2 LOCAL_MODULE_TAGS := debug LOCAL_C_INCLUDES := $(LOCAL_PATH)/include external/gtest/include LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk include $(BUILD_EXECUTABLE) # Library for keystore clients include $(CLEAR_VARS) ifeq ($(USE_32_BIT_KEYSTORE), true) LOCAL_MULTILIB := 32 endif LOCAL_CFLAGS := -Wall -Wextra -Werror LOCAL_SRC_FILES := \ IKeystoreService.cpp \ KeyAttestationApplicationId.cpp \ KeyAttestationPackageInfo.cpp \ Signature.cpp \ keyblob_utils.cpp \ keystore_client.proto \ keystore_client_impl.cpp \ keystore_get.cpp \ authorization_set.cpp \ keystore_tags_utils.cpp \ keystore_aidl_hidl_marshalling_utils.cpp LOCAL_SHARED_LIBRARIES := \ libbinder \ liblog \ libprotobuf-cpp-lite \ libutils \ libhwbinder \ libhidlbase \ android.hardware.keymaster@3.0 LOCAL_MODULE_CLASS := SHARED_LIBRARIES LOCAL_MODULE := libkeystore_binder LOCAL_MODULE_TAGS := optional LOCAL_C_INCLUDES := $(LOCAL_PATH)/include $(call keystore_proto_include) LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libbinder \ libhwbinder \ libhidlbase \ android.hardware.keymaster@3.0 LOCAL_CLANG := true LOCAL_SANITIZE := integer LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk include $(BUILD_SHARED_LIBRARY) # Library for keystore clients using the WiFi HIDL interface include $(CLEAR_VARS) LOCAL_CFLAGS := -Wall -Wextra -Werror LOCAL_SRC_FILES := \ keystore_get_wifi_hidl.cpp LOCAL_SHARED_LIBRARIES := \ android.system.wifi.keystore@1.0 \ libbase \ libhidlbase \ libhidltransport \ liblog \ libutils LOCAL_MODULE_CLASS := SHARED_LIBRARIES LOCAL_MODULE := libkeystore-wifi-hidl LOCAL_MODULE_TAGS := optional LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_CLANG := true LOCAL_SANITIZE := integer LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk LOCAL_VENDOR_MODULE := true include $(BUILD_SHARED_LIBRARY) # Library for unit tests include $(CLEAR_VARS) ifeq ($(USE_32_BIT_KEYSTORE), true) LOCAL_MULTILIB := 32 endif LOCAL_CFLAGS := -Wall -Wextra -Werror LOCAL_SRC_FILES := auth_token_table.cpp LOCAL_MODULE := libkeystore_test LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_STATIC_LIBRARIES := libgtest_main LOCAL_SHARED_LIBRARIES := libkeymaster_messages \ libutils \ libhwbinder \ libhidlbase \ android.hardware.keymaster@3.0 LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk include $(BUILD_STATIC_LIBRARY)