This repository was archived by the owner on Jul 6, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 69
/
Copy pathMakefile
56 lines (41 loc) · 1.34 KB
/
Makefile
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
##########################################
# Options
##########################################
WB_LIB_PATH=$(CURDIR)/lib
WB_SRC_PATH=$(CURDIR)
CXX=g++
##########################################
##########################################
DEFINES=-DWB_USE_COURSERA -DWB_USE_JSON11=0
CXX_FLAGS=-fpic -O3 -g -std=c++11 -I . -I $(WB_SRC_PATH) # -I /usr/local/cuda/include -L /usr/local/cuda/lib64
LIBS=-lm -std=c++11 -L $(WB_LIB_PATH) # -lcuda
##########################################
##########################################
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
LIBS += -lrt
endif
##########################################
##########################################
SOURCES := $(shell find $(WB_SRC_PATH) ! -name "*_test.cpp" -name "*.cpp")
TESTS := $(shell find $(WB_SRC_PATH) -name "*_test.cpp")
OBJECTS = $(SOURCES:.cpp=.o)
##############################################
# OUTPUT
##############################################
.PHONY: all
.SUFFIXES: .o .cpp
all: libwb.so
.cpp.o:
$(CXX) $(DEFINES) $(CXX_FLAGS) -c -o $@ $<
libwb.so: $(OBJECTS)
mkdir -p $(WB_LIB_PATH)
$(CXX) -shared -o $(WB_LIB_PATH)/$@ $(OBJECTS) $(LIBS)
libwb.a: $(OBJECTS)
mkdir -p $(WB_LIB_PATH)
ar rcs -o $(WB_LIB_PATH)/$@ $(OBJECTS)
test: libwb.so
$(CXX) $(DEFINES) $(CXX_FLAGS) -o $@ $(TESTS) -lwb $(LIBS)
clean:
rm -fr lib test
-rm -f $(EXES) *.o *~