1 Star 0 Fork 0

dou/eco_track

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
makefile_cross 4.55 KB
一键复制 编辑 原始数据 按行查看 历史
dou 提交于 2024-01-10 18:17 . add notes
USE_CAFFE=0
#0:no-simd;1:sse-Intel;2:neon-TX2;3:neon-Raspberrypi3
#(comment should not in the same line as the parameter)
USE_SIMD=2
USE_MULTI_THREAD=1
USE_FFTW=0
#USE_OPENMP=1
#USE_EIGEN=1
USE_GTEST=0
USE_VOT_TRAX=0
CAFFE_PATH=/media/elab/sdd/mycodes/caffe
TOOLCHAIN_PATH=/home/dou/2_RK3588/2_QZXJ/AIO3588JQ/rk3588_sdk/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin
# CROSS_COMPILE?=aarch64-mix210-linux-
CROSS_COMPILE?=aarch64-none-linux-gnu-
CXX:=$(CROSS_COMPILE)g++
CC:=$(CROSS_COMPILE)gcc
ARCH= -gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=[sm_50,compute_50] \
-gencode arch=compute_52,code=[sm_52,compute_52]
# OpenCV库路径
OPENCV_LIBS = -L/home/dou/2_RK3588/opencv-3.4.16/install/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_imgcodecs
OPENCV_INCLUDE = -I/home/dou/2_RK3588/opencv-3.4.16/install/include
# LDFLAGS= `pkg-config --libs opencv` -lstdc++ -lm
LDFLAGS= -lstdc++ -lm
CXXFLAGS = -g -Wall -lstdc++ -lm -std=c++0x -O3 -fPIC
HEADERS = $(wildcard *.h) $(wildcard *.hpp)
TARGET_LIB = libecotracker.so
OBJS = ffttools.o fhog.o interpolator.o optimize_scores.o scale_filter.o \
regularization_filter.o feature_extractor.o feature_operator.o \
training.o sample_update.o eco.o metrics.o
ifeq ($(USE_CAFFE), 1)
CXXFLAGS+= -DUSE_CAFFE
LDFLAGS+= -L$(CAFFE_PATH)/build/lib -lcaffe -lglog #-lprotobuf
CXXFLAGS+= -I$(CAFFE_PATH)/build/include/ -I$(CAFFE_PATH)/include/
LDFLAGS+= -lboost_system -lboost_filesystem -lboost_regex
endif
ifeq ($(USE_SIMD), 1)
CXXFLAGS+= -DUSE_SIMD -msse4
OBJS+= gradient.o
endif
ifeq ($(USE_SIMD), 2)
CXXFLAGS+= -DUSE_SIMD -DUSE_NEON -ffast-math -flto -march=armv8-a+crypto -mcpu=cortex-a57+crypto
OBJS+= gradient.o
endif
ifeq ($(USE_SIMD), 3)
CXXFLAGS+= -DUSE_SIMD -DUSE_NEON -ffast-math -flto
OBJS+= gradient.o
endif
ifeq ($(USE_MULTI_THREAD), 1)
CXXFLAGS+= -DUSE_MULTI_THREAD
LDFLAGS+= -pthread
endif
ifeq ($(USE_FFTW), 1)
CXXFLAGS+= -DUSE_FFTW
LDFLAGS+= -lfftw3
endif
#ifeq ($(USE_OPENMP), 1)
#CXXFLAGS+= -DUSE_OPENMP -fopenmp
#LDFLAGS+= -fopenmp
#endif
#ifeq ($(USE_EIGEN), 1)
#CXXFLAGS+= -DUSE_EIGEN -I/usr/include/eigen3
#endif
ifeq ($(USE_GTEST), 1)
GTEST_DIR = ../googletest
GTEST_HEADERS = $(GTEST_DIR)/include/gtest/*.h \
$(GTEST_DIR)/include/gtest/internal/*.h
CXXFLAGS += -isystem $(GTEST_DIR)/include
endif
ifeq ($(USE_VOT_TRAX), 1)
CXXFLAGS+= -ltrax
LDFLAGS+= -ltrax
endif
ALL+= runecotracker.bin $(TARGET_LIB)
ifeq ($(USE_GTEST), 1)
ALL+= eco_unittest.bin
endif
ifeq ($(USE_VOT_TRAX), 1)
ALL+= vot_eco.bin
endif
all: $(ALL)
runecotracker.bin: $(OBJS) runecotracker.o
$(CC) $(OPENCV_INCLUDE) -o $@ $^ $(LDFLAGS) $(OPENCV_LIBS)
$(TARGET_LIB): $(OBJS)
$(CC) $(OPENCV_INCLUDE) ${LDFLAGS} -shared -o $@ $^ $(OPENCV_LIBS)
%.o: %.c $(HEADERS)
$(CC) -c $(OPENCV_INCLUDE) -o $@ $< $(CFLAGS) $(OPENCV_LIBS)
%.o: %.cc $(HEADERS)
$(CXX) -c $(OPENCV_INCLUDE) -o $@ $< $(CXXFLAGS) $(OPENCV_LIBS)
%.o: %.cpp $(HEADERS)
$(CXX) -c $(OPENCV_INCLUDE) -o $@ $< $(CXXFLAGS) $(OPENCV_LIBS)
ifeq ($(USE_VOT_TRAX), 1)
vot_eco.bin: $(OBJS) vot_eco.o
$(CC) -o $@ $^ $(LDFLAGS)
endif
#gtest=========
ifeq ($(USE_GTEST), 1)
GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS)
gtest-all.o : $(GTEST_SRCS_)
$(CXX) $(CXXFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c \
$(GTEST_DIR)/src/gtest-all.cc
gtest_main.o : $(GTEST_SRCS_)
$(CXX) $(CXXFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c \
$(GTEST_DIR)/src/gtest_main.cc
gtest.a : gtest-all.o
$(AR) $(ARFLAGS) $@ $^
gtest_main.a : gtest-all.o gtest_main.o
$(AR) $(ARFLAGS) $@ $^
#-------------
eco_unittest.o : eco_unittest.cc ffttools.hpp $(GTEST_HEADERS)
$(CXX) $(CXXFLAGS) -c eco_unittest.cc
eco_unittest.bin : ffttools.o eco_unittest.o gtest_main.a
$(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS) -lpthread
endif
#cv gpu test========
cvgputest.o : cvgputest.cc
$(CXX) $(CXXFLAGS) -c cvgputest.cc
cvgputest.bin : cvgputest.o
$(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
#==============
.PHONY: clean
clean:
rm -rf ./.d *.o *.bin *.so *.a */*.o */*.bin
.PHONY: install
install: $(TARGET_LIB)
mkdir -p /usr/local/include/opentracker
mkdir -p /usr/local/include/opentracker/eco
mkdir -p /usr/local/include/opentracker/eco/look_tables
cp $(TARGET_LIB) /usr/local/lib
cp *.hpp /usr/local/include/opentracker/eco
cp *.h /usr/local/include/opentracker/eco
cp -a look_tables/. /usr/local/include/opentracker/eco/look_tables
.PHONY: uninstall
uninstall: $(TARGET_LIB)
rm -f -r /usr/local/include/opentracker/eco
rm -f /usr/local/lib/$(TARGET_LIB)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/hengq/eco_track.git
git@gitee.com:hengq/eco_track.git
hengq
eco_track
eco_track
master

搜索帮助

23e8dbc6 1850385 7e0993f3 1850385