|
@@ -0,0 +1,134 @@
|
|
|
|
+#一般情况无需修改该文件
|
|
|
|
+
|
|
|
|
+LOCAL_PATH=$(dir $(abspath $(lastword $(MAKEFILE_LIST))))
|
|
|
|
+ZKSW_PREBUILT_LIB_PATH := $(ZKSW_REAL_PREBUILT)/lib
|
|
|
|
+ZKSW_PREBUILT_INCLUDE_PATH := $(ZKSW_REAL_PREBUILT)/include
|
|
|
|
+
|
|
|
|
+EASYUI_COMMON_INCLUDE := $(LOCAL_PATH)/include
|
|
|
|
+
|
|
|
|
+#配置源文件目录
|
|
|
|
+PROJ_ROOT_PATH :=./
|
|
|
|
+#源文件后缀名
|
|
|
|
+PROJ_SRC_SUFFIX := %.cpp %.c
|
|
|
|
+PROJ_HEAD_SUFFIX := %.h
|
|
|
|
+# 递归遍历目录下的所有的文件
|
|
|
|
+rwildcard=$(wildcard $1$2) $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2))
|
|
|
|
+# 获取相应的源文件
|
|
|
|
+PROJ_ALL_FILES := $(foreach src_path,$(PROJ_ROOT_PATH), $(call rwildcard,$(src_path),*.*) )
|
|
|
|
+PROJ_SRC_FILES := $(filter $(PROJ_SRC_SUFFIX),$(PROJ_ALL_FILES))
|
|
|
|
+PROJ_HEAD_FILES := $(filter $(PROJ_HEAD_SUFFIX),$(PROJ_ALL_FILES))
|
|
|
|
+
|
|
|
|
+# 获取相应的源文件
|
|
|
|
+LOCAL_SRC_FILES := $(PROJ_SRC_FILES)
|
|
|
|
+LOCAL_HEAD_FILES := $(PROJ_HEAD_FILES)
|
|
|
|
+
|
|
|
|
+#源文件目录结构
|
|
|
|
+PROJ_DIR_TREE := $(dir $(foreach src_path, $(LOCAL_SRC_FILES), $(call rwildcard,$(src_path),*/) ) )
|
|
|
|
+PROJ_DIR_TREE := $(sort $(PROJ_DIR_TREE))
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+OBJS_ROOT_DIR=../obj/
|
|
|
|
+OBJS_1 = $(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES))
|
|
|
|
+OBJS_2 = $(patsubst %.c,%.o,$(OBJS_1))
|
|
|
|
+OBJS = $(addprefix $(OBJS_ROOT_DIR),$(OBJS_2))
|
|
|
|
+OBJS_DIR_TREE=$(addprefix $(OBJS_ROOT_DIR),$(PROJ_DIR_TREE))
|
|
|
|
+
|
|
|
|
+CFLAGS=-Os -pipe -fno-caller-saves -Wno-unused-result -mfloat-abi=hard -mfpu=vfp -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -Wl,--warn-common -Wl,--warn-once -Wl,-z,combreloc -Wl,-z,defs -DUSE_ANDROID_LOG
|
|
|
|
+CXXFLAGS=-Os -pipe -fno-caller-saves -Wno-unused-result -mfloat-abi=hard -mfpu=vfp -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -DUSE_ANDROID_LOG
|
|
|
|
+
|
|
|
|
+CXXFLAGS+= -fexceptions -Wall -lstdc++ -std=c++11 \
|
|
|
|
+ -DPJ_IS_LITTLE_ENDIAN=1 -DPJ_IS_BIG_ENDIAN=0 \
|
|
|
|
+ -D__PLAT_Z21__=1
|
|
|
|
+
|
|
|
|
+STATIC_LIB = curl/libcurl.a zlib/libz.a
|
|
|
|
+
|
|
|
|
+INCLUDE_DIR := -I$(EASYUI_COMMON_INCLUDE) \
|
|
|
|
+ -I$(ZKSW_PREBUILT_INCLUDE_PATH) \
|
|
|
|
+ -I. \
|
|
|
|
+ -Idep/include
|
|
|
|
+
|
|
|
|
+LDFLAGS += -lcurl -lcares -lssl -lcrypto
|
|
|
|
+
|
|
|
|
+LDFLAGS += -lvoip \
|
|
|
|
+ -lpjsua2-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lstdc++ -lpjsua-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lpjsip-ua-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lpjsip-simple-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lpjsip-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lpjmedia-codec-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lpjmedia-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lpjmedia-videodev-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lpjmedia-audiodev-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lpjmedia-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lpjnath-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lpjlib-util-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lsrtp-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lresample-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lg7221codec-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lyuv-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lpj-arm-unknown-linux-gnueabihf \
|
|
|
|
+ -lopus \
|
|
|
|
+ -lzkaudio \
|
|
|
|
+ -lpaho-mqtt3c
|
|
|
|
+
|
|
|
|
+LDFLAGS += -lsqlite3
|
|
|
|
+
|
|
|
|
+LDFLAGS += -lswscale -lswresample -lavfilter -lavformat -lavcodec \
|
|
|
|
+ -lavdevice -lavutil
|
|
|
|
+
|
|
|
|
+LDFLAGS += -lopenh264
|
|
|
|
+LDFLAGS += -lz
|
|
|
|
+LDFLAGS += -lmi_panel -lmi_disp -lmi_ai -lmi_ao -lmi_sys -lmi_common -lcam_os_wrapper
|
|
|
|
+LDFLAGS += -lzkhardware -lzknet -leasyui -llog -pthread -lm -ldl
|
|
|
|
+LDFLAGS += -L$(ZKSW_PREBUILT_LIB_PATH) -L. -Ldep/lib
|
|
|
|
+
|
|
|
|
+TARGET=../libs/armeabi/libzkgui.so
|
|
|
|
+
|
|
|
|
+ifeq ($(TARGET), $(wildcard $(TARGET)))
|
|
|
|
+ DELETE_TARGET=$(TARGET)
|
|
|
|
+endif
|
|
|
|
+
|
|
|
|
+# alias commads if compile on windows
|
|
|
|
+RM =rm
|
|
|
|
+MKDIR=mkdir
|
|
|
|
+ECHO=echo
|
|
|
|
+ifeq ($(OS),Windows_NT)
|
|
|
|
+ RM=win32-rm
|
|
|
|
+ MKDIR=win32-mkdir
|
|
|
|
+ ECHO=win32-echo
|
|
|
|
+else
|
|
|
|
+ #keep default
|
|
|
|
+endif
|
|
|
|
+#alias end
|
|
|
|
+
|
|
|
|
+all: prepare $(TARGET)
|
|
|
|
+ @$(ECHO)
|
|
|
|
+ @$(ECHO) "[armeabi] Install : libzkgui.so => libs/armeabi/libzkgui.so"
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+$(OBJS_ROOT_DIR)%.o: %.cpp $(LOCAL_HEAD_FILES)
|
|
|
|
+ @$(ECHO) "[armeabi] Compile++ : "$<
|
|
|
|
+ @$(CC) -c $< -o $@ $(CXXFLAGS) $(INCLUDE_DIR) $(LDFLAGS)
|
|
|
|
+
|
|
|
|
+$(OBJS_ROOT_DIR)%.o: %.c $(LOCAL_HEAD_FILES)
|
|
|
|
+ @$(ECHO) "[armeabi] Compile++ : "$<
|
|
|
|
+ @$(CC) -c $< -o $@ $(CFLAGS) $(INCLUDE_DIR) $(LDFLAGS)
|
|
|
|
+
|
|
|
|
+$(TARGET):$(OBJS)
|
|
|
|
+ @$(ECHO) "[armeabi] SharedLibrary : "$@
|
|
|
|
+ @$(CC) -fPIC -shared $^ -o $@ $(LDFLAGS) $(CXXFLAGS)
|
|
|
|
+ @$(CROSS_COMPILE)strip $@
|
|
|
|
+
|
|
|
|
+prepare:
|
|
|
|
+ @$(ECHO) "[armeabi] GCC : "$(CC)
|
|
|
|
+ @-$(MKDIR) ../libs/armeabi -p
|
|
|
|
+ @-$(MKDIR) $(OBJS_DIR_TREE) -p
|
|
|
|
+ @-$(RM) $(TARGET) -rf
|
|
|
|
+
|
|
|
|
+clean:
|
|
|
|
+ @$(ECHO) "[armeabi] Clean : "$(OBJS_ROOT_DIR)
|
|
|
|
+ @-$(RM) $(OBJS_ROOT_DIR) -rf
|
|
|
|
+ @$(ECHO) "[armeabi] Clean : "$(TARGET)
|
|
|
|
+ @-$(RM) $(TARGET) -rf
|
|
|
|
+
|
|
|
|
+.PHONY:all clean prepare $(TARGET)
|