### ==========================================================================
### 3.1 Selecting compiler (default = gcc)
+
+CXXFLAGS += -Wall -Wcast-qual -fno-exceptions -fno-rtti $(EXTRACXXFLAGS)
+LDFLAGS += $(EXTRALDFLAGS)
+
ifeq ($(COMP),)
COMP=gcc
endif
-ifeq ($(COMP),mingw)
- comp=mingw
+ifeq ($(COMP),gcc)
+ comp=gcc
CXX=g++
+ CXXFLAGS += -ansi -pedantic -Wno-long-long -Wextra -Wshadow
endif
-ifeq ($(COMP),gcc)
- comp=gcc
+ifeq ($(COMP),mingw)
+ comp=mingw
CXX=g++
+ CXXFLAGS += -Wextra -Wshadow
+ LDFLAGS += -static-libstdc++ -static-libgcc
endif
ifeq ($(COMP),icc)
comp=icc
CXX=icpc
+ CXXFLAGS += -diag-disable 1476,10120 -Wcheck -Wabi -Wdeprecated -strict-ansi
endif
ifeq ($(COMP),clang)
comp=clang
CXX=clang++
+ CXXFLAGS += -ansi -pedantic -Wno-long-long -Wextra -Wshadow
endif
ifeq ($(comp),icc)
profile_clean = gcc-profile-clean
endif
-### 3.2 General compiler and linker settings
-CXXFLAGS = -Wall -Wcast-qual -fno-exceptions -fno-rtti $(EXTRACXXFLAGS)
-LDFLAGS += $(EXTRALDFLAGS)
-
-ifeq ($(comp),gcc)
- CXXFLAGS += -ansi -pedantic -Wno-long-long -Wextra -Wshadow
-endif
-
-ifeq ($(comp),mingw)
- CXXFLAGS += -Wextra -Wshadow
- LDFLAGS += -static-libstdc++ -static-libgcc
-endif
-
-ifeq ($(comp),icc)
- CXXFLAGS += -diag-disable 1476,10120 -Wcheck -Wabi -Wdeprecated -strict-ansi
-endif
-
-ifeq ($(comp),clang)
- CXXFLAGS += -ansi -pedantic -Wno-long-long -Wextra -Wshadow
-endif
-
ifeq ($(os),osx)
CXXFLAGS += -arch $(arch) -mmacosx-version-min=10.6
LDFLAGS += -arch $(arch) -mmacosx-version-min=10.6