Port to OpenCV4 and use the C++ API for everything
[experiments/opencv_trail_effect.git] / Makefile
index a008ba9..75dde40 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-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 \
 CXXFLAGS += -fno-common \
            -fvisibility=hidden \
            -Wall \
@@ -18,15 +18,24 @@ CXXFLAGS += -fno-common \
            -Wswitch-enum \
            -Wundef \
            -Wunreachable-code \
            -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
 
            -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)
+
+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)
+LDLIBS += $(shell pkg-config --libs opencv4)
 
 LINK.o = $(LINK.cpp)
 opencv_trail_effect:
 
 LINK.o = $(LINK.cpp)
 opencv_trail_effect: