Android.mk
4.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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)