LOCAL_PATH:= $(call my-dir)

ifeq ($(APP_ABI), arm64-v8a)
MACHINE_PREFIX := 64bit
else
MACHINE_PREFIX := 32bit
endif

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)

ifeq ($(USE_TEECLIENT_LIB),true)
include $(CLEAR_VARS)
LOCAL_MODULE := libTeeClient
LOCAL_SRC_FILES := include/$(MACHINE_PREFIX)/libTeeClient.so
include $(PREBUILT_SHARED_LIBRARY)
else
include $(CLEAR_VARS)
LOCAL_MODULE := MobiCoreDriver
LOCAL_SRC_FILES := include/$(MACHINE_PREFIX)/libMcClient.so
include $(PREBUILT_SHARED_LIBRARY)
endif

include $(CLEAR_VARS)
LOCAL_MODULE := MLDAP

LOCAL_C_INCLUDES := \
    $(LOCAL_PATH)/../common/include \
    $(LOCAL_PATH)/../common/libdk_native \
    $(LOCAL_PATH)/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 \
    TAStartupCodeMC.c

LOCAL_CFLAGS := -Wall -Wunused
LOCAL_LDLIBS := -llog

LOCAL_CFLAGS += -DUSE_MOBICORE
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_TEECLIENT_LIB),true)
    LOCAL_SHARED_LIBRARIES += libTeeClient
else
    LOCAL_SHARED_LIBRARIES += MobiCoreDriver
    endif

ifeq ($(MODE), Debug)
    LOCAL_CFLAGS += -DNWD_DEBUG -g
endif # NDK_DEBUG

include $(BUILD_SHARED_LIBRARY)

ifeq ($(MACHINE_PREFIX), 32bit)
    $(call import-add-path,${MOBICORE_SDK_PATH})
    $(call import-module,$(COMP_PATH_MobiCoreDriverLib))
endif
