-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 \
-fstack-protector \
--param=ssp-buffer-size=4
-ifneq ($(CXX),clang++)
+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 ($(CXX),clang++)
+ifeq ($(COMPILER), clang)
LDFLAGS += -Qunused-arguments
endif
-CXXFLAGS += $(shell pkg-config --cflags opencv)
-LDLIBS += $(shell pkg-config --libs opencv)
+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: