Android.mk 4.07 KB
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
$(info Manomotion Compilation started)
PARENT_PATH := $(LOCAL_PATH)/../..
PARENT_PATH := $(abspath $(PARENT_PATH))
$(info PARENT_PATH: $(PARENT_PATH))

PROJECT_PATH := $(PARENT_PATH)/common/modules/skm
SKM_PATH := $(PROJECT_PATH)/src
3RDPARTY_PATH := $(PARENT_PATH)/Android/3rdparty/
$(info 3RDPARTY_PATH: $(3RDPARTY_PATH))
LIBCURL_PATH := $(PARENT_PATH)/Android/libs

UTILS_PATH := $(PROJECT_PATH)

#OPENCV_MK_PATH := $(PARENT_PATH)/Android/opencv-3.4.3-android-sdk/OpenCV-android-sdk/sdk/native/jni
OPENCV_MK_PATH := $(3RDPARTY_PATH)/opencv-4.4.0-android-sdk/OpenCV-android-sdk/sdk/native/jni
OPENCV_CAMERA_MODULES := on
OPENCV_INSTALL_MODULES := on
OPENCV_LIB_TYPE := STATIC
$(info OPENCV_MK_PATH: $(OPENCV_MK_PATH))
include $(OPENCV_MK_PATH)/OpenCV.mk
OPENCV_INCLUDES_DIRS := $(OPENCV_MK_PATH) $(OPENCV_MK_PATH)/include \
					$(OPENCV_MK_PATH)/include/opencv \
					$(OPENCV_MK_PATH)/include/opencv2

# Retrieve all sources files from a directory 

SKM_CPP_FILE_LIST := $(wildcard $(SKM_PATH)/*.cpp)
SKM_CPP_FILES := $(patsubst $(SKM_CPP_FILE_LIST)/,, $(SKM_CPP_FILE_LIST))	

JSON_CPP_FILE_LIST := $(wildcard $(3RDPARTY_PATH)/json/*.cpp)
JSON_CPP_FILES := $(patsubst $(JSON_CPP_FILE_LIST)/,, $(JSON_CPP_FILE_LIST))	

ARDUINOJSON_CPP_FILE_LIST := $(wildcard $(3RDPARTY_PATH)/ArduinoJson/*.cpp)
ARDUINOJSON_CPP_FILES := $(patsubst $(ARDUINOJSON_CPP_FILE_LIST)/,, $(ARDUINOJSON_CPP_FILE_LIST))	

ARDUINOJSON_DEPENDENCIES_CPP_FILE_LIST := $(wildcard $(3RDPARTY_PATH)/ArduinoJson/*/*.cpp)
ARDUINOJSON_DEPENDENCIES_CPP_FILES := $(patsubst $(ARDUINOJSON_DEPENDENCIES_CPP_FILE_LIST)/,, $(ARDUINOJSON_DEPENDENCIES_CPP_FILE_LIST))	

UTILS_CPP_FILE_LIST := $(wildcard $(UTILS_PATH)/*.cpp)
UTILS_CPP_FILES := $(patsubst $(UTILS_CPP_FILE_LIST)/,, $(UTILS_CPP_FILE_LIST))

SKM_SRC_FILES := $(SKM_CPP_FILES)
SKM_SRC_FILES += $(ARDUINOJSON_CPP_FILES)
SKM_SRC_FILES += $(ARDUINOJSON_DEPENDENCIES_CPP_FILES)
SKM_SRC_FILES += $(UTILS_CPP_FILES)
SKM_SRC_FILES += $(JSON_CPP_FILES)
# $(info MANOMOTION_SRC_FILES: $(MANOMOTION_SRC_FILES))	

SKM_INCLUDES := $(SKM_PATH)  $(UTILS_PATH)
SKM_INCLUDES += $(sort $(dir $(wildcard $(SKM_PATH)/*)))
SKM_INCLUDES += $(sort $(dir $(wildcard $(SKM_PATH)/*/*)))

# Include security module
SECURITY_PATH := $(PARENT_PATH)/common/modules/security
SECURITY_INCLUDE := $(SECURITY_PATH)
SECURITY_SRC := $(wildcard $(SECURITY_INCLUDE)/*.cpp)
SKM_SRC_FILES += $(SECURITY_SRC) 

#including base 
BASE_INCLUDE := $(PARENT_PATH)/common/core/

UTILS_INCLUDE := $(PARENT_PATH)/common/core/utils/
COMMON_SRC_PATH := $(PARENT_PATH)/common
COMMON_INCLUDES := $(sort $(dir $(wildcard $(COMMON_SRC_PATH)/*/)))
SKM_INCLUDES += $(SECURITY_INCLUDE) $(OPENCV_INCLUDES_DIRS) $(BASE_INCLUDE) $(UTILS_INCLUDE) $(COMMON_INCLUDES)

# Include prebuilt library curl
include $(CLEAR_VARS)
LOCAL_MODULE := curl
LOCAL_SRC_FILES := $(LIBCURL_PATH)/libcurl.a
LOCAL_EXPORT_C_INCLUDES := $(3RDPARTY_PATH) $(3RDPARTY_PATH)/json $(3RDPARTY_PATH)/curl $(3RDPARTY_PATH)/openssl

include $(PREBUILT_STATIC_LIBRARY)



# Include prebuilt library ssl
# include $(CLEAR_VARS)
# LOCAL_MODULE := libssl
# LOCAL_SRC_FILES := $(LIBCURL_PATH)/libssl.a
# LOCAL_EXPORT_C_INCLUDES := $(SKM_PATH) $(SKM_PATH)/openssl
# include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
	
# give module name
LOCAL_MODULE := skm

LOCAL_CFLAGS += -O3 -fvisibility=hidden -fdata-sections  -ffunction-sections -fPIC
LOCAL_CPPFLAGS += -O3 -fvisibility=hidden -fdata-sections  -ffunction-sections -fPIC
# LOCAL_CFLAGS += -D_APPLY_CHECKSUM_


# list your C files to compile
LOCAL_SRC_FILES += $(SKM_SRC_FILES)
					

# Additional include directories
# LOCAL_EXPORT_C_INCLUDES += $(SKM_INCLUDES) 
LOCAL_C_INCLUDES += $(SKM_INCLUDES)
LOCAL_CFLAGS += -DSKM_CURL_EMBED_CACERTS
					
						
# LOCAL_LDLIBS += -llog -ldl -lz  -lm
# LOCAL_LDFLAGS += -Wl,--allow-multiple-definition
# LOCAL_LDFLAGS += -llog

#Config flags
LOCAL_CFLAGS += -D__ANDROID__ -DSKM_CURL_EMBED_CACERTS $(USER_DEFINED_CFLAGS)
ifneq (,$(findstring _APPLY_CHECKSUM_,$(LOCAL_CFLAGS)))
$(warning Compiling skm module in release mode)
endif


LOCAL_STATIC_LIBRARIES += curl
include $(BUILD_STATIC_LIBRARY)