LOCAL_PATH := $(call my-dir)

NWD_LIB_NAME := "PA_NWD_lib"

# =============================================================================
# Samsung Process Authenticator : Android NWD Library
# =============================================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libpa
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/src $(LOCAL_PATH)/arch
LOCAL_SRC_FILES += src/pa_api.c \
                   src/xattr.c
LOCAL_STATIC_LIBRARIES := scl multibuild_log asn1proto libfive_static libpa_provision
LOCAL_STATIC_LIBRARIES += libprocahidl_static
LOCAL_SHARED_LIBRARIES := vendor.samsung.hardware.security.proca@2.0

LOCAL_CFLAGS   := -DPLATFORM_LOG_TAG=\"PA_NWD_LIB\"
LOCAL_CFLAGS   += -DVERSION_NAME=\"$(NWD_LIB_NAME)\"
LOCAL_LDFLAGS  += -Wl,--version-script=$(LOCAL_PATH)/pa_nwd_lib.lds
LOCAL_LDFLAGS  += -u PaNewCertificate -Wl,--gc-sections
LOCAL_SANITIZE := default-ub integer

LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(BUILD_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libpa_provision
LOCAL_STATIC_LIBRARIES := multibuild_log asn1proto
LOCAL_STATIC_LIBRARIES += libprocahidl_static
LOCAL_CFLAGS   := -DPLATFORM_LOG_TAG=\"PA_NWD_LIB\"
LOCAL_SANITIZE := default-ub integer

LOCAL_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/src
LOCAL_SRC_FILES += src/pa_provision.c
include $(BUILD_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := multibuild_log
LOCAL_SRC_FILES += ../multibuild/source/gp-api/client/tees_client_log_android.c
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../multibuild/include/gp-mb
LOCAL_SANITIZE := default-ub integer

LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES)
LOCAL_EXPORT_LDLIBS := -llog
include $(BUILD_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libpa_placeholder
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_SRC_FILES += src/pa_api_placeholder.c
LOCAL_LDFLAGS  += -Wl,--version-script=$(LOCAL_PATH)/pa_nwd_lib.lds
LOCAL_LDFLAGS  += -u PaNewCertificate -Wl,--gc-sections
LOCAL_SANITIZE := default-ub integer
include $(BUILD_SHARED_LIBRARY)

$(call import-add-path, .)
$(call import-add-path, thirdparty)
$(call import-module, asn1)
$(call import-module, hidl)
$(call import-module, hidl/dependency)
$(call import-module, scl)
$(call import-module, libfive)
