Makefile 2.56 KB
CC = gcc
XX = g++
AR = ar
STRIP=ls
DEFS=-DOS_LINUX
BUILD_DIR=./build_dir

LIB_DIR = /mnt/data/cmhu/bky

PROJ_HOME_DIR =  ../../../

TARGET_SRC = $(PROJ_HOME_DIR)/vpt/src/test

TARGET = $(PROJ_HOME_DIR)/bin/test

CFLAGS = -g  -Wall -O2 -fPIC $(INCLUDE) -std=c++11 -fvisibility=hidden -Wl,-Bsymbolic -Wl,-rpath=../
#CFLAGS = -g  -Wall -O2 -fPIC $(INCLUDE) -std=c++11 -fvisibility=hidden -Wl,-Bsymbolic
#CFLAGS = -g  -Wall -O0 -fPIC $(INCLUDE) -std=c++11 -Wl,-Bsymbolic -fvisibility=hidden

DEPEND_DIR =  $(LIB_DIR)/Linux_3rdparty

INCLUDE = -I $(DEPEND_DIR)/include \
	 -I $(DEPEND_DIR)/include/opencv \
	 -I $(DEPEND_DIR)/include/opencv2 \
   	 -I $(DEPEND_DIR)/include/boost_linux_x86_64/include \
	 -I $(TARGET_SRC) \
	 -I $(TARGET_SRC)/../VPT \

LIBSPATH=-L$(PROJ_HOME_DIR)/bin -l:libVPT.so \
	 -L$(DEPEND_DIR)/lib  -lopencv_video  -lopencv_highgui -lopencv_imgproc -lopencv_core \
	 -L$(DEPEND_DIR)/lib  -llibjasper -llibtiff -llibpng -lIlmImf -llibjpeg -lzlib \
	 -L$(DEPEND_DIR)/lib -l:libavformat.a -l:libavcodec.a -l:libswscale.a -l:libavutil.a -l:libavfilter.a -l:libswresample.a -l:libavdevice.a -l:libyasm.a -ldl -ldl -lm \
	 -L$(LIB_DIR)/cuda-11.1/x86_64-linux/lib -lcudnn -lcurand\
	 -L$(DEPEND_DIR)/TensorRT-7.2.1.6/lib -lnvinfer -lmyelin -lnvinfer_plugin -lnvparsers -lnvonnxparser \
	 #-L$(DEPEND_DIR)/lib -lboost_system -lboost_regex -lboost_thread -lboost_filesystem

LIBS= -ldl -lpthread

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

all:$(TARGET)

$(TARGET):$(addprefix $(BUILD_DIR)/, $(OBJS)) 
	@echo "##############$@##################"
	$(XX) $(CFLAGS) -o $@ $^ $(LIBSPATH) $(LIBS)  -Wl,-rpath=../
	chmod 777 $(TARGET)
	$(STRIP) $(TARGET)
$(BUILD_DIR)/%.o:%.cpp | $(BUILD_DIR)
	@echo "##############$@##################"
	$(XX) $(CFLAGS) -c $< -o $@ $(LIBSPATH) $(LIBS)
$(BUILD_DIR)/%.o:$(TARGET_SRC)/%.cpp | $(BUILD_DIR)
	@echo "##############$@##################"
	$(XX) $(CFLAGS) -c $< -o $@ $(LIBSPATH) $(LIBS)
$(BUILD_DIR)/%.o:$(TARGET_SRC)/sort/%.cpp | $(BUILD_DIR)
	@echo "##############$@##################"
	$(XX) $(CFLAGS) -c $< -o $@ $(LIBSPATH) $(LIBS)
$(BUILD_DIR)/%.o:$(HIDE_MODEL_CPU_SRC)/%.cpp | $(BUILD_DIR)
	@echo "##############$@##################"
	$(XX) $(CFLAGS) -c $< -o $@ $(LIBSPATH) $(LIBS)
$(BUILD_DIR)/%.o:$(HIDE_MODEL_GPU_SRC)/%.cpp | $(BUILD_DIR)
	@echo "##############$@##################"
	$(XX) $(CFLAGS) -c $< -o $@ $(LIBSPATH) $(LIBS)

$(BUILD_DIR):
	mkdir $@

.PHONY:clean
clean:
	$(RM) $(BUILD_DIR)/*
	$(RM) $(TARGET)