-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmakefile
56 lines (39 loc) · 1.98 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
CXX = g++
LOADER = g++
OPT = -L/usr/lib -L/usr/lib/boost/lib
CXXFLAGS = -O2 -Wall -std=c++0x
FLAGS = -O2 -std=c++0x
OPCVFLAGS = -lopencv_core -lopencv_highgui
BOOSTFLAGS = -lboost_filesystem -lboost_system -lboost_unit_test_framework
X11FLAGS = -lsvm
DIR_SRC = ./src
DIR_BIN = ./bin
DIR_INC = ./inc
DIR_OBJ = ./obj
DIR_PRG = ./prog
dbotsw: $(DIR_OBJ)/dbotsw.o $(DIR_OBJ)/botsw.o $(DIR_OBJ)/utils.o $(DIR_OBJ)/cross_validation.o $(DIR_OBJ)/svm.o $(DIR_OBJ)/sift.o $(DIR_OBJ)/norm.o $(DIR_OBJ)/param.o
$(LOADER) $(OPT) -o $(DIR_BIN)/$@ $^ $(CXXFLAGS) $(OPCVFLAGS) $(BOOSTFLAGS)
get_feature_vectors: $(DIR_OBJ)/get_feature_vectors.o $(DIR_OBJ)/botsw.o $(DIR_OBJ)/utils.o $(DIR_OBJ)/cross_validation.o $(DIR_OBJ)/svm.o $(DIR_OBJ)/sift.o $(DIR_OBJ)/norm.o $(DIR_OBJ)/param.o
$(LOADER) $(OPT) -o $(DIR_BIN)/$@ $^ $(CXXFLAGS) $(OPCVFLAGS) $(BOOSTFLAGS)
## ----- ##
$(DIR_OBJ)/dbotsw.o: $(DIR_PRG)/dbotsw.cpp $(DIR_SRC)/botsw.cpp $(DIR_SRC)/utils.cpp $(DIR_SRC)/cross_validation.cpp $(DIR_SRC)/svm.cpp $(DIR_SRC)/sift.cpp $(DIR_SRC)/norm.cpp $(DIR_SRC)/param.cpp
$(CXX) -o $@ -c $< $(CXXFLAGS)
$(DIR_OBJ)/get_feature_vectors.o: $(DIR_PRG)/get_feature_vectors.cpp $(DIR_SRC)/botsw.cpp $(DIR_SRC)/utils.cpp $(DIR_SRC)/cross_validation.cpp $(DIR_SRC)/svm.cpp $(DIR_SRC)/sift.cpp $(DIR_SRC)/norm.cpp $(DIR_SRC)/param.cpp
$(CXX) -o $@ -c $< $(CXXFLAGS)
$(DIR_OBJ)/botsw.o: $(DIR_SRC)/botsw.cpp $(DIR_SRC)/utils.cpp
$(CXX) -o $@ -c $< $(CXXFLAGS)
$(DIR_OBJ)/param.o: $(DIR_SRC)/param.cpp
$(CXX) -o $@ -c $< $(CXXFLAGS)
$(DIR_OBJ)/svm.o: $(DIR_SRC)/svm.cpp
$(CXX) -o $@ -c $< $(CXXFLAGS)
$(DIR_OBJ)/cross_validation.o: $(DIR_SRC)/cross_validation.cpp $(DIR_SRC)/norm.cpp $(DIR_SRC)/sift.cpp $(DIR_SRC)/utils.cpp
$(CXX) -o $@ -c $< $(CXXFLAGS)
$(DIR_OBJ)/norm.o: $(DIR_SRC)/norm.cpp
$(CXX) -o $@ -c $< $(CXXFLAGS)
$(DIR_OBJ)/sift.o: $(DIR_SRC)/sift.cpp
$(CXX) -o $@ -c $< $(CXXFLAGS)
$(DIR_OBJ)/utils.o: $(DIR_SRC)/utils.cpp
$(CXX) -o $@ -c $< $(CXXFLAGS)
## ----- ##
clean:
-rm -rf $(DIR_OBJ)/*.o *~ */*~ */*/*~