Makefile-lib
2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
CC = gcc
XX = g++
AR = ar
NVCC=nvcc
TARGET = libVPT.a
NVDECODE_ROOT=../NvDecode
DEPEND_DIR = $(STATIC_RELEASE_ROOT)
UTOOLS_ROOT = $(UTOOLS_SSD_ROOT)/utools
UTOOLS_SRC = $(UTOOLS_SSD_ROOT)/../src
VPT_ROOT = .
INCLUDE =-I $(OPENCV_ROOT)/include \
-I $(OPENCV_ROOT)/include/opencv \
-I $(OPENCV_ROOT)/include/opencv2 \
-I $(BOOST_ROOT)/include \
-I /usr/local/cuda/include \
-I $(UTOOLS_SRC) \
-I $(NVDECODE_ROOT) \
-I $(NVDECODE_ROOT)/common/inc \
-I $(VPT_ROOT)/sort \
#-I $(VPT_ROOT)/vpt \
# -I ./MD5 \
#CFLAGS =-g -Wall -O3 $(INCLUDE) # -std=c++11
CFLAGS = $(CFLAGS_LIB) $(INCLUDE) -std=c++11
NFLAGS = $(NFLAGS_LIB) $(INCLUDE) -std=c++11
LIBSPATH=-L $(UTOOLS_ROOT) \
-L/usr/local/cuda/lib64 -lcudart -lcublas -lcusolver -lcurand
LIBS=-lustools -ldl -lpthread
#SRCS:=$(wildcard *.cpp)
#OBJS:=$(patsubst %cpp, %o, $(SRCS))
SRCS:=$(wildcard *.cpp) $(wildcard $(VPT_ROOT)/sort/*.cpp) $(wildcard $(VPT_ROOT)/MD5/mID.cpp)
DIRS:=$(notdir $(SRCS))
OBJS:=$(patsubst %cpp, %o, $(DIRS))
CU_SOURCES = $(shell ls *.cu)
CU_OBJS=$(CU_SOURCES:.cu=.o)
STATICLIBS:=$(wildcard $(UTOOLS_ROOT)/*.a)
all:$(TARGET)
$(TARGET):$(OBJS) $(CU_OBJS)
rm -f $(TARGET)
$(AR) crs $@ $(OBJS) $(CU_OBJS)
ranlib $(TARGET)
rm -f *.o
echo create $(TARGET) > script.mri;
echo addlib $(TARGET) >> script.mri;
@for alib in `echo $(STATICLIBS) | cut -d' ' -f 1-`; \
do \
echo addlib $$alib >> script.mri; \
done
echo save >> script.mri;
echo end >> script.mri;
ar -M < script.mri
# $(foreach alib, $(STATICLIBS), $(AR) x $(alib))
# ar cru $(TARGET) *.o
ranlib $(TARGET)
rm -f *.o
cp $(TARGET) $(DES_LIB)
chmod 777 $(DES_LIB)/$(TARGET)
%.o:%.cpp
@echo "##############################$@##############################"
$(XX) $(CFLAGS) -c $<
%.o:$(VPT_ROOT)/sort/%.cpp
@echo "##############################$@###############################"
$(XX) $(CFLAGS) -c $<
%.o:$(VPT_ROOT)/MD5/%.cpp
@echo "##############################$@###############################"
$(XX) $(CFLAGS) -c $<
$(CU_OBJS):%.o:%.cu
@echo "#######################CU_OBJS###############"
@echo $@
$(NVCC) $(NFLAGS) -o $@ $<
.PHONY:clean
clean:
$(RM) $(OBJS)
$(RM) $(TARGET)
$(RM) $(DES_LIB)/$(TARGET)
$(RM) *~