Makefile 1.35 KB

CC = gcc
XX = g++
AR = ar


PROJECT_ROOT = /home/cmhu/village_ascend_arm/village_ascend_arm
SRC_ROOT = $(PROJECT_ROOT)/jni
THIRDPARTY_ROOT = $(PROJECT_ROOT)/3rdparty

BIN_ROOT = $(PROJECT_ROOT)/bin
ACL_PATH = $(ASCEND_AICPU_PATH)/acllib

ALGORITHM_PATH = $(PROJECT_ROOT)/algorithm

TARGET = $(PROJECT_ROOT)/bin/libvillage_ascend_arm_jni.so

CFLAGS =-O2 -fPIC $(INCLUDE) -lrt  -std=c++11 -fvisibility=hidden -DENABLE_DVPP_INTERFACE


INCLUDE= -I $(SRC_ROOT)/include \
	-I $(SRC_ROOT) \
   -I $(THIRDPARTY_ROOT)/jdk1.8.0_171/include \
   -I $(THIRDPARTY_ROOT)/jdk1.8.0_171/include/linux \
   -I $(THIRDPARTY_ROOT)/opencv_4_1/include \
   -I $(THIRDPARTY_ROOT)/curl/include \
   -I$(PROJECT_ROOT)/src/common \
   -I$(PROJECT_ROOT)/src/common/dvpp \
   -I$(ACL_PATH)/include \
   -I$(ALGORITHM_PATH)/vehicle_analysis \

   
LIBSPATH= -L $(BIN_ROOT) -lvillage_ascend_arm \
	-L $(THIRDPARTY_ROOT)/opencv_4_1/lib -l:libopencv_world.so \
	-L $(BIN_ROOT) -l:libcurl.so.4 -lssl -lcrypto \
	-L $(ACL_PATH)/lib64 -l:libascendcl.so \
	-L $(ACL_PATH)/lib64 -l:libacl_dvpp.so \


SRCS:=$(wildcard $(SRC_ROOT)/*.cpp) 
DIRS:=$(notdir $(SRCS))
OBJS:=$(patsubst %cpp, %o, $(DIRS))


all:$(TARGET)

$(TARGET):$(OBJS)
	rm -f $(TARGET)
	$(XX) -shared -o $@ $^ $(CFLAGS) $(LIBSPATH)
	rm -f *.o

%.o:$(SRC_ROOT)/%.cpp
	$(XX) $(CFLAGS) -c $<

 
.PHONY:clean
clean:
	rm -f *.o $(TARGET)

cleano:
	rm -f *.o