-PEDANTRY = -Weverything -pedantic-errors -Werror -Wno-c++98-compat \
- -Wno-c++98-compat-pedantic -Wno-padded -Wno-missing-prototypes \
- -Wmissing-declarations -Wno-weak-vtables -Wno-global-constructors \
- -Wno-exit-time-destructors -pedantic -Wall -Wextra -Weffc++
-OPTFLAGS = -O3 -fno-omit-frame-pointer #-fsanitize=address ,thread,undefined -fsanitize-memory-track-origins
-STDLIB = -stdlib=libc++
-#STDLIB =
-CXX = clang++-mp-3.4
-#CXX = g++-mp-4.8
+USE_CLANG = 1
+
+PEDANTRY =
+STDLIB =
+OPTFLAGS = -O3 #-fno-omit-frame-pointer -fsanitize=address ,thread,undefined -fsanitize-memory-track-origins
CXXFLAGS = -std=c++11 -ggdb3 -MMD -I. $(STDLIB) $(PEDANTRY) $(OPTFLAGS)
LDFLAGS = -std=c++11 $(STDLIB) $(OPTFLAGS)
+
+ifeq "$(USE_CLANG)" "1"
+
+PEDANTRY += \
+ -Weverything -pedantic-errors -Werror -Wno-c++98-compat \
+ -Wno-c++98-compat-pedantic -Wno-padded -Wno-global-constructors \
+ -Wno-exit-time-destructors -pedantic -Wall -Wextra -Weffc++
+STDLIB += -stdlib=libc++
+CXX = clang++-mp-3.4
+
+else
+
+PEDANTRY += -pedantic -Wall -Wextra -fno-default-inline -Werror
+STDLIB += -pthread
+CXX = g++-mp-4.8
+
+endif
+
CC := $(CXX)
EXTRA_TARGETS = signatures