/
Makefile
60 lines (32 loc) · 1.29 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
57
58
59
60
PROGRAM = analysis
BIN_DIR = bin
OBJ_DIR = obj
INCLUDE_DIR = -I/usr/include/ -I./inc
SRC_DIR = src
PACKAGES= opencv glibmm-2.4 glib-2.0 gtkmm-3.0 gtk+-3.0 gdkmm-3.0
#*******
SRCS := $(wildcard $(SRC_DIR)/*.cpp)
OBJ := $(addprefix $(OBJ_DIR)/,$(notdir $(SRCS:.cpp=.o)))
#*******
CPPFLAGS = -g -Wall -std=c++11 -fopenmp
LIB_DIR = -L/usr/include/
LIBS = -L/usr/local/lib -fopenmp -lglib-2.0 -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core
GTK_LDFLAGS = $(shell pkg-config --libs $(PACKAGES))
#*************************
#******* FLAGS *********
#*************************
LDFLAGS = $(LIB_DIR) $(LIBS) $(GTK_LDFLAGS)
CFLAGS = `pkg-config --cflags $(PACKAGES)`
#****************************
#****** REGLES ******
#****************************
$(BIN_DIR)/$(PROGRAM): $(OBJ)
g++ $(CPPFLAGS) $+ -o $@ $(LDFLAGS)
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
g++ $(CPPFLAGS) -c $(CFLAGS) $(INCLUDE_DIR) $< -o $@
###############################
default: $(BIN_DIR)/$(PROGRAM)
clean:
rm -f $(OBJ_DIR)/*.o $(BIN_DIR)/$(PROGRAM)
run : $(BIN_DIR)/$(PROGRAM)
./$(BIN_DIR)/$(PROGRAM)