1 CXXFLAGS = -std=c++11 -pedantic -pedantic-errors -Wall -g3 -O2 -D_ANSI_SOURCE_
2 CXXFLAGS += -fno-common \
12 -Wmissing-declarations \
13 -Wmissing-format-attribute \
22 -Wp,-D_FORTIFY_SOURCE=2 \
24 --param=ssp-buffer-size=4
26 COMPILER = $(shell $(CXX) -v 2>&1 | grep -q "clang version" && echo clang || echo gcc)
28 ifeq ($(COMPILER), gcc)
29 CXXFLAGS += -Wunsafe-loop-optimizations \
30 -Wunused-but-set-variable
33 ifeq ($(COMPILER), clang)
34 LDFLAGS += -Qunused-arguments
37 CXXFLAGS += $(shell pkg-config --cflags opencv4)
38 LDLIBS += $(shell pkg-config --libs opencv4)
43 opencv_trail_effect.o: $(wildcard *.hpp)
45 # Some command lines to imitate different trail styles
47 blame_it_on_the_boogie: opencv_trail_effect
48 ./opencv_trail_effect -l 12 -s background -d fadeaccumulate
50 wtf: opencv_trail_effect
51 ./opencv_trail_effect -l -1 -s background -d copy
53 l_anima_vola: opencv_trail_effect
54 ./opencv_trail_effect -l 30 -s background -d copy -r
56 average: opencv_trail_effect
57 ./opencv_trail_effect -l 10 -s background -d average -B
60 rm -f *.o opencv_trail_effect vgdump gtk.suppression
62 test: opencv_trail_effect
63 [ -f gtk.suppression ] || wget -nv https://people.gnome.org/~johan/gtk.suppression
64 G_DEBUG=gc-friendly G_SLICE=always-malloc \
65 valgrind --tool=memcheck --leak-check=full --leak-resolution=high \
66 --num-callers=20 --log-file=vgdump \
67 --suppressions=gtk.suppression ./opencv_trail_effect