CC = gcc XX = c++ PROJ_ALL_PATH = /home/cmhu/village_ascend_arm/village_ascend_arm CUR_PROJ_PATH = $(PROJ_ALL_PATH)/jni BIN_PATH = $(PROJ_ALL_PATH)/bin DEFS=-DOS_LINUX -DENABLE_DVPP_INTERFACE TARGET = $(BIN_PATH)/libvillage_ascend_arm_jni.so ACL_PATH = $(ASCEND_AICPU_PATH)/acllib OPENCV_PATH = $(PROJ_ALL_PATH)/3rdparty/opencv_4_1 ALGORITHM_PATH = $(PROJ_ALL_PATH)/algorithm JDK_PATH = $(PROJ_ALL_PATH)/3rdparty/jdk1.8.0_171 CURL_PATH = $(PROJ_ALL_PATH)/3rdparty/curl INCLUDES = -I$(PROJ_ALL_PATH)/src/common \ -I$(PROJ_ALL_PATH)/src/common/dvpp \ -I$(PROJ_ALL_PATH)/src/common/dvppx \ -I$(PROJ_ALL_PATH)/src \ -I$(OPENCV_PATH)/include \ -I$(OPENCV_PATH)/include/opencv2 \ -I$(ACL_PATH)/include \ -I $(JDK_PATH)/include \ -I $(JDK_PATH)/include/linux \ -I$(CUR_PROJ_PATH)/include \ -I$(CURL_PATH)/include \ local_shared_libs_dirs := \ $(OPENCV_PATH)/lib \ $(ACL_PATH)/lib64 \ $(BIN_PATH)/ \ $(CURL_PATH)/lib \ local_shared_libs := \ opencv_world \ ascendcl \ acl_dvpp \ vehicle_analysis \ SHARED_LIBRARIES := $(foreach shared_lib, $(local_shared_libs), -l$(shared_lib)) #SHARED_LIBRARIES_DIRS := $(foreach shared_lib_dir, $(local_shared_libs_dirs), -L$(shared_lib_dir) -Wl,-z,relro,-z,now,-z,noexecstack,-rpath-link,$(shared_lib_dir)) SHARED_LIBRARIES_DIRS := $(foreach shared_lib_dir, $(local_shared_libs_dirs), -L$(shared_lib_dir) -Wl,-z,relro,-z,now,-z,noexecstack,-rpath,$(shared_lib_dir)) CXXFLAGS= -g -O0 -fPIC -shared $(INCLUDES) $(DEFS) -lpthread -lrt -lz -fexceptions -std=c++11 -DENABLE_DVPP_INTERFACE -D_GLIBCXX_USE_CXX11_ABI=0 -fvisibility=hidden -Wall -Wno-deprecated -Wdeprecated-declarations -Wl,-Bsymbolic -ldl SRCS := $(wildcard $(CUR_PROJ_PATH)/*.cpp) \ DIRS := $(notdir $(SRCS)) OBJS := $(patsubst %cpp, %o, $(DIRS)) all: $(TARGET) $(TARGET):$(OBJS) $(XX) -o $@ $^ $(CXXFLAGS) $(SHARED_LIBRARIES_DIRS) $(SHARED_LIBRARIES) %.o:$(CUR_PROJ_PATH)/%.cpp $(XX) $(CXXFLAGS) -c $< clean: @rm -f $(TARGET) @rm -f $(OBJS) cleano: @rm -f $(OBJS)