Fix a compilation error when using clang++
[experiments/opencv_trail_effect.git] / Makefile
1 CXXFLAGS = -ansi -pedantic -pedantic-errors -Wall -g3 -O2 -D_ANSI_SOURCE_
2 CXXFLAGS += -fno-common \
3             -fvisibility=hidden \
4             -Wall \
5             -Wextra \
6             -Wformat=2 \
7             -Winit-self \
8             -Winline \
9             -Wpacked \
10             -Wpointer-arith \
11             -Wlarger-than-65500 \
12             -Wmissing-declarations \
13             -Wmissing-format-attribute \
14             -Wmissing-noreturn \
15             -Wredundant-decls \
16             -Wsign-compare \
17             -Wstrict-aliasing=2 \
18             -Wswitch-enum \
19             -Wundef \
20             -Wunreachable-code \
21             -Wwrite-strings \
22             -Wp,-D_FORTIFY_SOURCE=2 \
23             -fstack-protector \
24             --param=ssp-buffer-size=4
25
26 ifneq ($(CXX),clang++)
27   CXXFLAGS += -Wunsafe-loop-optimizations \
28               -Wunused-but-set-variable
29 endif
30
31 CXXFLAGS += $(shell pkg-config --cflags opencv)
32 LDLIBS += $(shell pkg-config --libs opencv)
33
34 LINK.o = $(LINK.cpp)
35 opencv_trail_effect:
36
37 opencv_trail_effect.o: $(wildcard *.hpp)
38
39 # Some command lines to imitate different trail styles
40
41 blame_it_on_the_boogie: opencv_trail_effect
42         ./opencv_trail_effect -l 12 -s background -d fadeaccumulate
43
44 wtf: opencv_trail_effect
45         ./opencv_trail_effect -l -1 -s background -d copy
46
47 l_anima_vola: opencv_trail_effect
48         ./opencv_trail_effect -l 30 -s background -d copy -r
49
50 average: opencv_trail_effect
51         ./opencv_trail_effect -l 10 -s background -d average -B
52
53 clean:
54         rm -f *.o opencv_trail_effect vgdump gtk.suppression
55
56 test: opencv_trail_effect
57         [ -f gtk.suppression ] || wget -nv https://people.gnome.org/~johan/gtk.suppression
58         G_DEBUG=gc-friendly G_SLICE=always-malloc \
59                 valgrind --tool=memcheck --leak-check=full --leak-resolution=high \
60                 --num-callers=20 --log-file=vgdump \
61                 --suppressions=gtk.suppression ./opencv_trail_effect