-CXXFLAGS = -ansi -pedantic -pedantic-errors -Wall -g3 -O2 -D_ANSI_SOURCE_
+CXXFLAGS = -std=c++11 -pedantic -pedantic-errors -Wall -g3 -O2 -D_ANSI_SOURCE_
CXXFLAGS += -fno-common \
-fvisibility=hidden \
-Wall \
-Wswitch-enum \
-Wundef \
-Wunreachable-code \
- -Wunsafe-loop-optimizations \
- -Wunused-but-set-variable \
-Wwrite-strings \
-Wp,-D_FORTIFY_SOURCE=2 \
-fstack-protector \
--param=ssp-buffer-size=4
-CXXFLAGS += $(shell pkg-config --cflags opencv)
-LDLIBS += $(shell pkg-config --libs opencv)
+COMPILER = $(shell $(CXX) -v 2>&1 | grep -q "clang version" && echo clang || echo gcc)
-opencv_trail_effect: $(wildcard *.hpp)
+ifeq ($(COMPILER), gcc)
+ CXXFLAGS += -Wunsafe-loop-optimizations \
+ -Wunused-but-set-variable
+endif
+ifeq ($(COMPILER), clang)
+ LDFLAGS += -Qunused-arguments
+endif
+
+CXXFLAGS += $(shell pkg-config --cflags opencv4 | sed -e 's/-I/-isystem/g')
+LDLIBS += $(shell pkg-config --libs opencv4)
+
+LINK.o = $(LINK.cpp)
+opencv_trail_effect:
+
+opencv_trail_effect.o: $(wildcard *.hpp)
# Some command lines to imitate different trail styles
average: opencv_trail_effect
./opencv_trail_effect -l 10 -s background -d average -B
+accumulate: opencv_trail_effect
+ ./opencv_trail_effect -b 0 -t 5 -l 25 -s threshold -d accumulate
+
clean:
- rm -f opencv_trail_effect vgdump gtk.suppression
+ rm -f *.o opencv_trail_effect vgdump gtk.suppression
test: opencv_trail_effect
[ -f gtk.suppression ] || wget -nv https://people.gnome.org/~johan/gtk.suppression