LOCAL_PATH:= $(call my-dir)

# Machine prefix
ifeq ($(APP_ABI), arm64-v8a)
MACHINE_PREFIX := 64bit
else
MACHINE_PREFIX := 32bit
endif

include $(CLEAR_VARS)
LOCAL_MODULE := libQSEEComAPI
ifeq ($(USE_QSEELIB_HIDL),true)
    LOCAL_SRC_FILES := include/$(MACHINE_PREFIX)/libQSEEComAPI_system.so
else
    LOCAL_SRC_FILES := include/$(MACHINE_PREFIX)/libQSEEComAPI.so
endif
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libcrypto
LOCAL_SRC_FILES := ../common/lib/$(MACHINE_PREFIX)/libcrypto.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libcutils
LOCAL_SRC_FILES := ../common/lib/$(MACHINE_PREFIX)/libcutils.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libc
LOCAL_SRC_FILES := ../common/lib/$(MACHINE_PREFIX)/libc.so
include $(PREBUILT_SHARED_LIBRARY)

#_ONLY_64_BUILD_ENV
ifeq ($(MACHINE_PREFIX), 64bit)
include $(CLEAR_VARS)
LOCAL_MODULE := libutils
LOCAL_SRC_FILES := ../common/lib/$(MACHINE_PREFIX)/libutils.so
include $(PREBUILT_SHARED_LIBRARY)
endif
#_END_ONLY_64_BUILD_ENV

include $(CLEAR_VARS)
LOCAL_MODULE := libc++
LOCAL_SRC_FILES := ../common/lib/$(MACHINE_PREFIX)/libc++.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := MLDAP

LOCAL_C_INCLUDES := \
    $(LOCAL_PATH)/../common/libdk_native \
    $(LOCAL_PATH)/include \
    $(LOCAL_PATH)/../common/include

LOCAL_SHARED_LIBRARIES += libcrypto libdk_native_client

LOCAL_SRC_FILES := \
    ../common/MLDAP.c \
    ../common/TAStartupCode.c \
    ../common/TLV.c \
    ../common/Synchronization.c \
    ../common/Utils.c \
    ../common/base64.c \
    ../common/ServiceName.c \
    ../common/ServiceKey.c \
    TAStartupCodeQSEE.c

LOCAL_CFLAGS := -Wall -Wunused
LOCAL_LDLIBS := -llog

ifeq ($(MACHINE_PREFIX), 64bit)
    LOCAL_CFLAGS += -DUSE_MACHINE64
endif

ifeq ($(USE_NEW_POS_PATH), TRUE)
    LOCAL_CFLAGS += -DUSE_NEW_POS_PATH
endif

ifeq ($(USE_DRKV2), TRUE)
    LOCAL_CFLAGS += -DUSE_DRKV2
endif

ifeq ($(USE_QSEE_WRAP_WITH_SFS), TRUE)
    LOCAL_CFLAGS += -DUSE_QSEE_WRAP_WITH_SFS
endif

LOCAL_CFLAGS += -DUSE_QSEE
LOCAL_SHARED_LIBRARIES += libQSEEComAPI
ifeq ($(CHIPSET_MSM8974), true)
    LOCAL_CFLAGS += -DCONFIG_MSM8974
endif # CHIPSET_MSM8974
ifeq ($(USE_ENCAPSULATED_TID), TRUE)
    LOCAL_CFLAGS += -DUSE_ENCAPSULATED_TID
endif # USE_ENCAPSULATED_TID

ifeq ($(MODE), Debug)
    LOCAL_CFLAGS += -DNWD_DEBUG -g
endif # NDK_DEBUG

include $(BUILD_SHARED_LIBRARY)
