diff options
Diffstat (limited to 'crypto/fde/Android.mk')
-rw-r--r-- | crypto/fde/Android.mk | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/crypto/fde/Android.mk b/crypto/fde/Android.mk new file mode 100644 index 000000000..aafd7a0bc --- /dev/null +++ b/crypto/fde/Android.mk @@ -0,0 +1,112 @@ +LOCAL_PATH := $(call my-dir) +ifeq ($(TW_INCLUDE_CRYPTO), true) +include $(CLEAR_VARS) + +LOCAL_MODULE := libcryptfsfde +LOCAL_MODULE_TAGS := eng optional +LOCAL_SRC_FILES := cryptfs.cpp +LOCAL_SHARED_LIBRARIES := libcrypto libhardware libcutils libstdc++ +LOCAL_STATIC_LIBRARIES := libscrypttwrp_static +LOCAL_C_INCLUDES := external/openssl/include $(commands_recovery_local_path)/crypto/scrypt/lib/crypto +ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0) + LOCAL_C_INCLUDES += bionic external/stlport/stlport + LOCAL_SHARED_LIBRARIES += libstlport + LOCAL_CPPFLAGS := -std=c++11 +endif + +ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26; echo $$?),0) + #8.0 or higher + LOCAL_C_INCLUDES += external/boringssl/src/include + LOCAL_SHARED_LIBRARIES += libselinux libc libc++ libbase libcrypto libcutils libkeymaster_messages libhardware libprotobuf-cpp-lite libe4crypt android.hardware.keymaster@3.0 libkeystore_binder libhidlbase libutils libbinder + ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 28; echo $$?),0) + #9.0 rules + LOCAL_CFLAGS += -Wno-unused-variable -Wno-sign-compare -Wno-unused-parameter -Wno-comment + LOCAL_SHARED_LIBRARIES += android.hardware.keymaster@4.0 libkeymaster4support libkeyutils + LOCAL_CFLAGS += -DTW_KEYMASTER_MAX_API=4 + else + #8.x rules + ifneq ($(wildcard system/core/libkeyutils/Android.bp),) + #only present in some 8.0 trees and should be in all 8.1 trees + LOCAL_SHARED_LIBRARIES += libkeyutils + endif + LOCAL_SHARED_LIBRARIES += libsoftkeymaster + LOCAL_CFLAGS += -DTW_KEYMASTER_MAX_API=3 + endif +else + # <= 7.x rules + ifneq ($(wildcard hardware/libhardware/include/hardware/keymaster0.h),) + LOCAL_C_INCLUDES += external/boringssl/src/include + LOCAL_CFLAGS += -DTW_KEYMASTER_MAX_API=1 + else + LOCAL_CFLAGS += -DTW_KEYMASTER_MAX_API=0 + endif +endif +ifeq ($(TARGET_HW_DISK_ENCRYPTION),true) + ifeq ($(TARGET_CRYPTFS_HW_PATH),) + LOCAL_C_INCLUDES += device/qcom/common/cryptfs_hw + else + LOCAL_C_INCLUDES += $(TARGET_CRYPTFS_HW_PATH) + endif + LOCAL_SHARED_LIBRARIES += libcryptfs_hw + LOCAL_CFLAGS += -DCONFIG_HW_DISK_ENCRYPTION +endif + +include $(BUILD_SHARED_LIBRARY) + + + +include $(CLEAR_VARS) +LOCAL_MODULE := twrpdec +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES +LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin +LOCAL_SRC_FILES := main.cpp cryptfs.cpp +LOCAL_SHARED_LIBRARIES := libcrypto libhardware libcutils libc libstdc++ +LOCAL_C_INCLUDES := external/openssl/include $(commands_recovery_local_path)/crypto/scrypt/lib/crypto +ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0) + LOCAL_C_INCLUDES += bionic external/stlport/stlport + LOCAL_SHARED_LIBRARIES += libstlport + LOCAL_CPPFLAGS := -std=c++11 +endif + +ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26; echo $$?),0) + #8.0 or higher + LOCAL_C_INCLUDES += external/boringssl/src/include + LOCAL_SHARED_LIBRARIES += libselinux libc libc++ libbase libcrypto libcutils libkeymaster_messages libhardware libprotobuf-cpp-lite libe4crypt android.hardware.keymaster@3.0 libkeystore_binder libhidlbase libutils libbinder + ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 28; echo $$?),0) + #9.0 rules + LOCAL_CFLAGS += -Wno-unused-variable -Wno-sign-compare -Wno-unused-parameter -Wno-comment + LOCAL_SHARED_LIBRARIES += android.hardware.keymaster@4.0 libkeymaster4support libkeyutils + LOCAL_CFLAGS += -DTW_KEYMASTER_MAX_API=4 + else + #8.x rules + ifneq ($(wildcard system/core/libkeyutils/Android.bp),) + #only present in some 8.0 trees and should be in all 8.1 trees + LOCAL_SHARED_LIBRARIES += libkeyutils + endif + LOCAL_SHARED_LIBRARIES += libsoftkeymaster + LOCAL_CFLAGS += -DTW_KEYMASTER_MAX_API=3 + endif +else + # <= 7.x rules + ifneq ($(wildcard hardware/libhardware/include/hardware/keymaster0.h),) + LOCAL_C_INCLUDES += external/boringssl/src/include + LOCAL_CFLAGS += -DTW_KEYMASTER_MAX_API=1 + else + LOCAL_CFLAGS += -DTW_KEYMASTER_MAX_API=0 + endif +endif +ifeq ($(TARGET_HW_DISK_ENCRYPTION),true) + ifeq ($(TARGET_CRYPTFS_HW_PATH),) + LOCAL_C_INCLUDES += device/qcom/common/cryptfs_hw + else + LOCAL_C_INCLUDES += $(TARGET_CRYPTFS_HW_PATH) + endif + LOCAL_SHARED_LIBRARIES += libcryptfs_hw + LOCAL_CFLAGS += -DCONFIG_HW_DISK_ENCRYPTION +endif + +LOCAL_WHOLE_STATIC_LIBRARIES += libscrypttwrp_static +include $(BUILD_EXECUTABLE) + +endif |