From 88b6f63bb38d720b6d09bff5f43f04bfe14f58f6 Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Mon, 23 Feb 2015 08:44:18 +0000
Subject: [PATCH] Added support for gcc-5.0.0 Tested with snapshot
 gcc-5-20150215.tar.bz2

---
 etc/config/settings.csh                | 26 +++++++++++++++++++++++++-
 etc/config/settings.sh                 |  6 ++++++
 wmake/rules/General/coco-cpp           | 12 ------------
 wmake/rules/General/standard           |  1 -
 wmake/rules/linux64Gcc/cOpt            |  1 -
 wmake/rules/linux64Gcc45               |  1 +
 wmake/rules/linux64Gcc45/c             | 16 ----------------
 wmake/rules/linux64Gcc45/c++           | 24 ------------------------
 wmake/rules/linux64Gcc45/c++Debug      |  2 --
 wmake/rules/linux64Gcc45/c++Opt        |  4 ----
 wmake/rules/linux64Gcc45/c++Prof       |  2 --
 wmake/rules/linux64Gcc45/cDebug        |  2 --
 wmake/rules/linux64Gcc45/cOpt          |  2 --
 wmake/rules/linux64Gcc45/cProf         |  2 --
 wmake/rules/linux64Gcc45/general       |  8 --------
 wmake/rules/linux64Gcc45/mplibHPMPI    |  3 ---
 wmake/rules/linux64Gcc45/mplibINTELMPI |  3 ---
 wmake/rules/linux64Gcc46               |  1 +
 wmake/rules/linux64Gcc46/c             | 16 ----------------
 wmake/rules/linux64Gcc46/c++           | 24 ------------------------
 wmake/rules/linux64Gcc46/c++Debug      |  2 --
 wmake/rules/linux64Gcc46/c++Opt        |  4 ----
 wmake/rules/linux64Gcc46/c++Prof       |  2 --
 wmake/rules/linux64Gcc46/cDebug        |  2 --
 wmake/rules/linux64Gcc46/cOpt          |  2 --
 wmake/rules/linux64Gcc46/cProf         |  2 --
 wmake/rules/linux64Gcc46/general       |  8 --------
 wmake/rules/linux64Gcc46/mplibHPMPI    |  3 ---
 wmake/rules/linux64Gcc46/mplibINTELMPI |  3 ---
 wmake/rules/linux64Gcc47               |  1 +
 wmake/rules/linux64Gcc47/c             | 16 ----------------
 wmake/rules/linux64Gcc47/c++           | 24 ------------------------
 wmake/rules/linux64Gcc47/c++Debug      |  2 --
 wmake/rules/linux64Gcc47/c++Opt        |  4 ----
 wmake/rules/linux64Gcc47/c++Prof       |  2 --
 wmake/rules/linux64Gcc47/cDebug        |  2 --
 wmake/rules/linux64Gcc47/cOpt          |  2 --
 wmake/rules/linux64Gcc47/cProf         |  2 --
 wmake/rules/linux64Gcc47/general       |  8 --------
 wmake/rules/linux64Gcc47/mplibHPMPI    |  3 ---
 wmake/rules/linux64Gcc47/mplibINTELMPI |  3 ---
 wmake/rules/linux64Gcc48               |  1 +
 wmake/rules/linux64Gcc48/c             | 16 ----------------
 wmake/rules/linux64Gcc48/c++           | 24 ------------------------
 wmake/rules/linux64Gcc48/c++Debug      |  2 --
 wmake/rules/linux64Gcc48/c++Opt        |  4 ----
 wmake/rules/linux64Gcc48/c++Prof       |  2 --
 wmake/rules/linux64Gcc48/cDebug        |  2 --
 wmake/rules/linux64Gcc48/cOpt          |  2 --
 wmake/rules/linux64Gcc48/cProf         |  2 --
 wmake/rules/linux64Gcc48/general       |  8 --------
 wmake/rules/linux64Gcc48/mplibHPMPI    |  3 ---
 wmake/rules/linux64Gcc48/mplibINTELMPI |  3 ---
 wmake/rules/linux64Gcc49               |  1 +
 wmake/rules/linux64Gcc49/c             | 16 ----------------
 wmake/rules/linux64Gcc49/c++           | 24 ------------------------
 wmake/rules/linux64Gcc49/c++Debug      |  2 --
 wmake/rules/linux64Gcc49/c++Opt        |  4 ----
 wmake/rules/linux64Gcc49/c++Prof       |  2 --
 wmake/rules/linux64Gcc49/cDebug        |  2 --
 wmake/rules/linux64Gcc49/cOpt          |  2 --
 wmake/rules/linux64Gcc49/cProf         |  2 --
 wmake/rules/linux64Gcc49/general       |  8 --------
 wmake/rules/linux64Gcc49/mplibHPMPI    |  3 ---
 wmake/rules/linux64Gcc49/mplibINTELMPI |  3 ---
 wmake/rules/linux64Gcc50               |  1 +
 wmake/rules/linuxGcc45                 |  1 +
 wmake/rules/linuxGcc45/c               | 16 ----------------
 wmake/rules/linuxGcc45/c++             | 24 ------------------------
 wmake/rules/linuxGcc45/c++Debug        |  2 --
 wmake/rules/linuxGcc45/c++Opt          |  4 ----
 wmake/rules/linuxGcc45/c++Prof         |  2 --
 wmake/rules/linuxGcc45/cDebug          |  2 --
 wmake/rules/linuxGcc45/cOpt            |  2 --
 wmake/rules/linuxGcc45/cProf           |  2 --
 wmake/rules/linuxGcc45/general         |  9 ---------
 wmake/rules/linuxGcc45/mplibHPMPI      |  3 ---
 wmake/rules/linuxGcc46                 |  1 +
 wmake/rules/linuxGcc46/c               | 16 ----------------
 wmake/rules/linuxGcc46/c++             | 24 ------------------------
 wmake/rules/linuxGcc46/c++Debug        |  2 --
 wmake/rules/linuxGcc46/c++Opt          |  4 ----
 wmake/rules/linuxGcc46/c++Prof         |  2 --
 wmake/rules/linuxGcc46/cDebug          |  2 --
 wmake/rules/linuxGcc46/cOpt            |  2 --
 wmake/rules/linuxGcc46/cProf           |  2 --
 wmake/rules/linuxGcc46/general         |  9 ---------
 wmake/rules/linuxGcc46/mplibHPMPI      |  3 ---
 wmake/rules/linuxGcc47                 |  1 +
 wmake/rules/linuxGcc47/c               | 16 ----------------
 wmake/rules/linuxGcc47/c++             | 24 ------------------------
 wmake/rules/linuxGcc47/c++Debug        |  2 --
 wmake/rules/linuxGcc47/c++Opt          |  4 ----
 wmake/rules/linuxGcc47/c++Prof         |  2 --
 wmake/rules/linuxGcc47/cDebug          |  2 --
 wmake/rules/linuxGcc47/cOpt            |  2 --
 wmake/rules/linuxGcc47/cProf           |  2 --
 wmake/rules/linuxGcc47/general         |  9 ---------
 wmake/rules/linuxGcc47/mplibHPMPI      |  3 ---
 wmake/rules/linuxGcc48                 |  1 +
 wmake/rules/linuxGcc48/c               | 16 ----------------
 wmake/rules/linuxGcc48/c++             | 24 ------------------------
 wmake/rules/linuxGcc48/c++Debug        |  2 --
 wmake/rules/linuxGcc48/c++Opt          |  4 ----
 wmake/rules/linuxGcc48/c++Prof         |  2 --
 wmake/rules/linuxGcc48/cDebug          |  2 --
 wmake/rules/linuxGcc48/cOpt            |  2 --
 wmake/rules/linuxGcc48/cProf           |  2 --
 wmake/rules/linuxGcc48/general         |  9 ---------
 wmake/rules/linuxGcc48/mplibHPMPI      |  3 ---
 wmake/rules/linuxGcc49                 |  1 +
 wmake/rules/linuxGcc49/c               | 16 ----------------
 wmake/rules/linuxGcc49/c++             | 24 ------------------------
 wmake/rules/linuxGcc49/c++Debug        |  2 --
 wmake/rules/linuxGcc49/c++Opt          |  4 ----
 wmake/rules/linuxGcc49/c++Prof         |  2 --
 wmake/rules/linuxGcc49/cDebug          |  2 --
 wmake/rules/linuxGcc49/cOpt            |  2 --
 wmake/rules/linuxGcc49/cProf           |  2 --
 wmake/rules/linuxGcc49/general         |  9 ---------
 wmake/rules/linuxGcc49/mplibHPMPI      |  3 ---
 wmake/rules/linuxGcc50                 |  1 +
 122 files changed, 43 insertions(+), 685 deletions(-)
 delete mode 100644 wmake/rules/General/coco-cpp
 create mode 120000 wmake/rules/linux64Gcc45
 delete mode 100644 wmake/rules/linux64Gcc45/c
 delete mode 100644 wmake/rules/linux64Gcc45/c++
 delete mode 100644 wmake/rules/linux64Gcc45/c++Debug
 delete mode 100644 wmake/rules/linux64Gcc45/c++Opt
 delete mode 100644 wmake/rules/linux64Gcc45/c++Prof
 delete mode 100644 wmake/rules/linux64Gcc45/cDebug
 delete mode 100644 wmake/rules/linux64Gcc45/cOpt
 delete mode 100644 wmake/rules/linux64Gcc45/cProf
 delete mode 100644 wmake/rules/linux64Gcc45/general
 delete mode 100644 wmake/rules/linux64Gcc45/mplibHPMPI
 delete mode 100644 wmake/rules/linux64Gcc45/mplibINTELMPI
 create mode 120000 wmake/rules/linux64Gcc46
 delete mode 100644 wmake/rules/linux64Gcc46/c
 delete mode 100644 wmake/rules/linux64Gcc46/c++
 delete mode 100644 wmake/rules/linux64Gcc46/c++Debug
 delete mode 100644 wmake/rules/linux64Gcc46/c++Opt
 delete mode 100644 wmake/rules/linux64Gcc46/c++Prof
 delete mode 100644 wmake/rules/linux64Gcc46/cDebug
 delete mode 100644 wmake/rules/linux64Gcc46/cOpt
 delete mode 100644 wmake/rules/linux64Gcc46/cProf
 delete mode 100644 wmake/rules/linux64Gcc46/general
 delete mode 100644 wmake/rules/linux64Gcc46/mplibHPMPI
 delete mode 100644 wmake/rules/linux64Gcc46/mplibINTELMPI
 create mode 120000 wmake/rules/linux64Gcc47
 delete mode 100644 wmake/rules/linux64Gcc47/c
 delete mode 100644 wmake/rules/linux64Gcc47/c++
 delete mode 100644 wmake/rules/linux64Gcc47/c++Debug
 delete mode 100644 wmake/rules/linux64Gcc47/c++Opt
 delete mode 100644 wmake/rules/linux64Gcc47/c++Prof
 delete mode 100644 wmake/rules/linux64Gcc47/cDebug
 delete mode 100644 wmake/rules/linux64Gcc47/cOpt
 delete mode 100644 wmake/rules/linux64Gcc47/cProf
 delete mode 100644 wmake/rules/linux64Gcc47/general
 delete mode 100644 wmake/rules/linux64Gcc47/mplibHPMPI
 delete mode 100644 wmake/rules/linux64Gcc47/mplibINTELMPI
 create mode 120000 wmake/rules/linux64Gcc48
 delete mode 100644 wmake/rules/linux64Gcc48/c
 delete mode 100644 wmake/rules/linux64Gcc48/c++
 delete mode 100644 wmake/rules/linux64Gcc48/c++Debug
 delete mode 100644 wmake/rules/linux64Gcc48/c++Opt
 delete mode 100644 wmake/rules/linux64Gcc48/c++Prof
 delete mode 100644 wmake/rules/linux64Gcc48/cDebug
 delete mode 100644 wmake/rules/linux64Gcc48/cOpt
 delete mode 100644 wmake/rules/linux64Gcc48/cProf
 delete mode 100644 wmake/rules/linux64Gcc48/general
 delete mode 100644 wmake/rules/linux64Gcc48/mplibHPMPI
 delete mode 100644 wmake/rules/linux64Gcc48/mplibINTELMPI
 create mode 120000 wmake/rules/linux64Gcc49
 delete mode 100644 wmake/rules/linux64Gcc49/c
 delete mode 100644 wmake/rules/linux64Gcc49/c++
 delete mode 100644 wmake/rules/linux64Gcc49/c++Debug
 delete mode 100644 wmake/rules/linux64Gcc49/c++Opt
 delete mode 100644 wmake/rules/linux64Gcc49/c++Prof
 delete mode 100644 wmake/rules/linux64Gcc49/cDebug
 delete mode 100644 wmake/rules/linux64Gcc49/cOpt
 delete mode 100644 wmake/rules/linux64Gcc49/cProf
 delete mode 100644 wmake/rules/linux64Gcc49/general
 delete mode 100644 wmake/rules/linux64Gcc49/mplibHPMPI
 delete mode 100644 wmake/rules/linux64Gcc49/mplibINTELMPI
 create mode 120000 wmake/rules/linux64Gcc50
 create mode 120000 wmake/rules/linuxGcc45
 delete mode 100644 wmake/rules/linuxGcc45/c
 delete mode 100644 wmake/rules/linuxGcc45/c++
 delete mode 100644 wmake/rules/linuxGcc45/c++Debug
 delete mode 100644 wmake/rules/linuxGcc45/c++Opt
 delete mode 100644 wmake/rules/linuxGcc45/c++Prof
 delete mode 100644 wmake/rules/linuxGcc45/cDebug
 delete mode 100644 wmake/rules/linuxGcc45/cOpt
 delete mode 100644 wmake/rules/linuxGcc45/cProf
 delete mode 100644 wmake/rules/linuxGcc45/general
 delete mode 100644 wmake/rules/linuxGcc45/mplibHPMPI
 create mode 120000 wmake/rules/linuxGcc46
 delete mode 100644 wmake/rules/linuxGcc46/c
 delete mode 100644 wmake/rules/linuxGcc46/c++
 delete mode 100644 wmake/rules/linuxGcc46/c++Debug
 delete mode 100644 wmake/rules/linuxGcc46/c++Opt
 delete mode 100644 wmake/rules/linuxGcc46/c++Prof
 delete mode 100644 wmake/rules/linuxGcc46/cDebug
 delete mode 100644 wmake/rules/linuxGcc46/cOpt
 delete mode 100644 wmake/rules/linuxGcc46/cProf
 delete mode 100644 wmake/rules/linuxGcc46/general
 delete mode 100644 wmake/rules/linuxGcc46/mplibHPMPI
 create mode 120000 wmake/rules/linuxGcc47
 delete mode 100644 wmake/rules/linuxGcc47/c
 delete mode 100644 wmake/rules/linuxGcc47/c++
 delete mode 100644 wmake/rules/linuxGcc47/c++Debug
 delete mode 100644 wmake/rules/linuxGcc47/c++Opt
 delete mode 100644 wmake/rules/linuxGcc47/c++Prof
 delete mode 100644 wmake/rules/linuxGcc47/cDebug
 delete mode 100644 wmake/rules/linuxGcc47/cOpt
 delete mode 100644 wmake/rules/linuxGcc47/cProf
 delete mode 100644 wmake/rules/linuxGcc47/general
 delete mode 100644 wmake/rules/linuxGcc47/mplibHPMPI
 create mode 120000 wmake/rules/linuxGcc48
 delete mode 100644 wmake/rules/linuxGcc48/c
 delete mode 100644 wmake/rules/linuxGcc48/c++
 delete mode 100644 wmake/rules/linuxGcc48/c++Debug
 delete mode 100644 wmake/rules/linuxGcc48/c++Opt
 delete mode 100644 wmake/rules/linuxGcc48/c++Prof
 delete mode 100644 wmake/rules/linuxGcc48/cDebug
 delete mode 100644 wmake/rules/linuxGcc48/cOpt
 delete mode 100644 wmake/rules/linuxGcc48/cProf
 delete mode 100644 wmake/rules/linuxGcc48/general
 delete mode 100644 wmake/rules/linuxGcc48/mplibHPMPI
 create mode 120000 wmake/rules/linuxGcc49
 delete mode 100644 wmake/rules/linuxGcc49/c
 delete mode 100644 wmake/rules/linuxGcc49/c++
 delete mode 100644 wmake/rules/linuxGcc49/c++Debug
 delete mode 100644 wmake/rules/linuxGcc49/c++Opt
 delete mode 100644 wmake/rules/linuxGcc49/c++Prof
 delete mode 100644 wmake/rules/linuxGcc49/cDebug
 delete mode 100644 wmake/rules/linuxGcc49/cOpt
 delete mode 100644 wmake/rules/linuxGcc49/cProf
 delete mode 100644 wmake/rules/linuxGcc49/general
 delete mode 100644 wmake/rules/linuxGcc49/mplibHPMPI
 create mode 120000 wmake/rules/linuxGcc50

diff --git a/etc/config/settings.csh b/etc/config/settings.csh
index 91ebfdaabe3..d37d5006e21 100644
--- a/etc/config/settings.csh
+++ b/etc/config/settings.csh
@@ -218,7 +218,25 @@ case ThirdParty:
     switch ("$WM_COMPILER")
     case Gcc:
     case Gcc48:
-        set gcc_version=gcc-4.8.3
+        set gcc_version=gcc-4.8.4
+        set gmp_version=gmp-5.1.2
+        set mpfr_version=mpfr-3.1.2
+        set mpc_version=mpc-1.0.1
+        breaksw
+    case Gcc45:
+        set gcc_version=gcc-4.5.4
+        set gmp_version=gmp-5.1.2
+        set mpfr_version=mpfr-3.1.2
+        set mpc_version=mpc-1.0.1
+        breaksw
+    case Gcc46:
+        set gcc_version=gcc-4.6.4
+        set gmp_version=gmp-5.1.2
+        set mpfr_version=mpfr-3.1.2
+        set mpc_version=mpc-1.0.1
+        breaksw
+    case Gcc47:
+        set gcc_version=gcc-4.7.4
         set gmp_version=gmp-5.1.2
         set mpfr_version=mpfr-3.1.2
         set mpc_version=mpc-1.0.1
@@ -229,6 +247,12 @@ case ThirdParty:
         set mpfr_version=mpfr-3.1.2
         set mpc_version=mpc-1.0.1
         breaksw
+    case Gcc50:
+        set gcc_version=gcc-5.0.0
+        set gmp_version=gmp-5.1.2
+        set mpfr_version=mpfr-3.1.2
+        set mpc_version=mpc-1.0.1
+        breaksw
     case Clang:
         # using clang - not gcc
         setenv WM_CC 'clang'
diff --git a/etc/config/settings.sh b/etc/config/settings.sh
index f1d3348424e..f88391aab1f 100644
--- a/etc/config/settings.sh
+++ b/etc/config/settings.sh
@@ -271,6 +271,12 @@ OpenFOAM | ThirdParty)
         mpfr_version=mpfr-3.1.2
         mpc_version=mpc-1.0.1
         ;;
+    Gcc50)
+        gcc_version=gcc-5.0.0
+        gmp_version=gmp-5.1.2
+        mpfr_version=mpfr-3.1.2
+        mpc_version=mpc-1.0.1
+        ;;
     Clang)
         # using clang - not gcc
         export WM_CC='clang'
diff --git a/wmake/rules/General/coco-cpp b/wmake/rules/General/coco-cpp
deleted file mode 100644
index 009c49e71e5..00000000000
--- a/wmake/rules/General/coco-cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-# handle Coco/R attributed grammars written for the C++ version
-#     http://www.ssw.uni-linz.ac.at/Coco/
-#     http://github.com/olesenm/coco-cpp/
-#
-
-SUFFIXES += .atg
-
-atgtoo =  \
-    $(WM_THIRD_PARTY_DIR)/platforms/$(WM_ARCH)$(WM_COMPILER)/coco-cpp/bin/coco-cpp \
-    -single \
-    $< -o $(OBJECTS_DIR) && \
-    $(CC) $(c++FLAGS) -c $(@D)/$(<F).cpp -o $@
diff --git a/wmake/rules/General/standard b/wmake/rules/General/standard
index 3a51d72260a..ccd69cede3a 100644
--- a/wmake/rules/General/standard
+++ b/wmake/rules/General/standard
@@ -5,7 +5,6 @@ SUFFIXES=
 include $(GENERAL_RULES)/version
 include $(GENERAL_RULES)/flex
 include $(GENERAL_RULES)/flex++
-## include $(GENERAL_RULES)/coco-cpp
 ## include $(GENERAL_RULES)/byacc
 ## include $(GENERAL_RULES)/btyacc++
 include $(GENERAL_RULES)/bison
diff --git a/wmake/rules/linux64Gcc/cOpt b/wmake/rules/linux64Gcc/cOpt
index 980f0ea46a6..17318709f1f 100644
--- a/wmake/rules/linux64Gcc/cOpt
+++ b/wmake/rules/linux64Gcc/cOpt
@@ -1,3 +1,2 @@
 cDBUG       =
 cOPT        = -O3
-# -fprefetch-loop-arrays
diff --git a/wmake/rules/linux64Gcc45 b/wmake/rules/linux64Gcc45
new file mode 120000
index 00000000000..7a0c1a85050
--- /dev/null
+++ b/wmake/rules/linux64Gcc45
@@ -0,0 +1 @@
+linux64Gcc
\ No newline at end of file
diff --git a/wmake/rules/linux64Gcc45/c b/wmake/rules/linux64Gcc45/c
deleted file mode 100644
index 66435ccf057..00000000000
--- a/wmake/rules/linux64Gcc45/c
+++ /dev/null
@@ -1,16 +0,0 @@
-SUFFIXES += .c
-
-cWARN        = -Wall
-
-cc          = gcc -m64
-
-include $(RULES)/c$(WM_COMPILE_OPTION)
-
-cFLAGS      = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
-
-ctoo        = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
-
-LINK_LIBS   = $(cDBUG)
-
-LINKLIBSO   = $(cc) -shared
-LINKEXE     = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
diff --git a/wmake/rules/linux64Gcc45/c++ b/wmake/rules/linux64Gcc45/c++
deleted file mode 100644
index a23dd820efe..00000000000
--- a/wmake/rules/linux64Gcc45/c++
+++ /dev/null
@@ -1,24 +0,0 @@
-SUFFIXES += .C
-
-c++WARN     = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -Wno-invalid-offsetof
-
-# Suppress CGAL warnings
-c++CGALWARN = -Wall -Wextra -Wno-unused-parameter -Wno-old-style-cast -Wnon-virtual-dtor
-
-CC          = g++ -m64
-
-include $(RULES)/c++$(WM_COMPILE_OPTION)
-
-ptFLAGS     = -DNoRepository -ftemplate-depth-100
-
-c++FLAGS    = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
-
-Ctoo        = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
-cxxtoo      = $(Ctoo)
-cctoo       = $(Ctoo)
-cpptoo      = $(Ctoo)
-
-LINK_LIBS   = $(c++DBUG)
-
-LINKLIBSO   = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-LINKEXE     = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/wmake/rules/linux64Gcc45/c++Debug b/wmake/rules/linux64Gcc45/c++Debug
deleted file mode 100644
index 19bdb9c3346..00000000000
--- a/wmake/rules/linux64Gcc45/c++Debug
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -ggdb3 -DFULLDEBUG
-c++OPT      = -O0 -fdefault-inline
diff --git a/wmake/rules/linux64Gcc45/c++Opt b/wmake/rules/linux64Gcc45/c++Opt
deleted file mode 100644
index 599e6aba611..00000000000
--- a/wmake/rules/linux64Gcc45/c++Opt
+++ /dev/null
@@ -1,4 +0,0 @@
-c++DBUG     =
-c++OPT      = -O3
-
-ROUNDING_MATH = -frounding-math
diff --git a/wmake/rules/linux64Gcc45/c++Prof b/wmake/rules/linux64Gcc45/c++Prof
deleted file mode 100644
index 3bda4dad55e..00000000000
--- a/wmake/rules/linux64Gcc45/c++Prof
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -pg
-c++OPT     = -O2
diff --git a/wmake/rules/linux64Gcc45/cDebug b/wmake/rules/linux64Gcc45/cDebug
deleted file mode 100644
index 72b638f4582..00000000000
--- a/wmake/rules/linux64Gcc45/cDebug
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -ggdb -DFULLDEBUG
-cOPT        = -O1 -fdefault-inline -finline-functions
diff --git a/wmake/rules/linux64Gcc45/cOpt b/wmake/rules/linux64Gcc45/cOpt
deleted file mode 100644
index 17318709f1f..00000000000
--- a/wmake/rules/linux64Gcc45/cOpt
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       =
-cOPT        = -O3
diff --git a/wmake/rules/linux64Gcc45/cProf b/wmake/rules/linux64Gcc45/cProf
deleted file mode 100644
index ca3ac9bf5f0..00000000000
--- a/wmake/rules/linux64Gcc45/cProf
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -pg
-cOPT        = -O2
diff --git a/wmake/rules/linux64Gcc45/general b/wmake/rules/linux64Gcc45/general
deleted file mode 100644
index 4a42b11b1ee..00000000000
--- a/wmake/rules/linux64Gcc45/general
+++ /dev/null
@@ -1,8 +0,0 @@
-CPP        = cpp -traditional-cpp
-
-PROJECT_LIBS = -l$(WM_PROJECT) -ldl
-
-include $(GENERAL_RULES)/standard
-
-include $(RULES)/c
-include $(RULES)/c++
diff --git a/wmake/rules/linux64Gcc45/mplibHPMPI b/wmake/rules/linux64Gcc45/mplibHPMPI
deleted file mode 100644
index 574492a236a..00000000000
--- a/wmake/rules/linux64Gcc45/mplibHPMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     =
-PINC       = -I$(MPI_ARCH_PATH)/include -D_MPICC_H
-PLIBS      = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi
diff --git a/wmake/rules/linux64Gcc45/mplibINTELMPI b/wmake/rules/linux64Gcc45/mplibINTELMPI
deleted file mode 100644
index cf80ec2eaf6..00000000000
--- a/wmake/rules/linux64Gcc45/mplibINTELMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     = -DMPICH_SKIP_MPICXX
-PINC       = -I$(MPI_ARCH_PATH)/include64
-PLIBS      = -L$(MPI_ARCH_PATH)/lib64 -lmpi
diff --git a/wmake/rules/linux64Gcc46 b/wmake/rules/linux64Gcc46
new file mode 120000
index 00000000000..7a0c1a85050
--- /dev/null
+++ b/wmake/rules/linux64Gcc46
@@ -0,0 +1 @@
+linux64Gcc
\ No newline at end of file
diff --git a/wmake/rules/linux64Gcc46/c b/wmake/rules/linux64Gcc46/c
deleted file mode 100644
index 66435ccf057..00000000000
--- a/wmake/rules/linux64Gcc46/c
+++ /dev/null
@@ -1,16 +0,0 @@
-SUFFIXES += .c
-
-cWARN        = -Wall
-
-cc          = gcc -m64
-
-include $(RULES)/c$(WM_COMPILE_OPTION)
-
-cFLAGS      = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
-
-ctoo        = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
-
-LINK_LIBS   = $(cDBUG)
-
-LINKLIBSO   = $(cc) -shared
-LINKEXE     = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
diff --git a/wmake/rules/linux64Gcc46/c++ b/wmake/rules/linux64Gcc46/c++
deleted file mode 100644
index a23dd820efe..00000000000
--- a/wmake/rules/linux64Gcc46/c++
+++ /dev/null
@@ -1,24 +0,0 @@
-SUFFIXES += .C
-
-c++WARN     = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -Wno-invalid-offsetof
-
-# Suppress CGAL warnings
-c++CGALWARN = -Wall -Wextra -Wno-unused-parameter -Wno-old-style-cast -Wnon-virtual-dtor
-
-CC          = g++ -m64
-
-include $(RULES)/c++$(WM_COMPILE_OPTION)
-
-ptFLAGS     = -DNoRepository -ftemplate-depth-100
-
-c++FLAGS    = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
-
-Ctoo        = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
-cxxtoo      = $(Ctoo)
-cctoo       = $(Ctoo)
-cpptoo      = $(Ctoo)
-
-LINK_LIBS   = $(c++DBUG)
-
-LINKLIBSO   = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-LINKEXE     = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/wmake/rules/linux64Gcc46/c++Debug b/wmake/rules/linux64Gcc46/c++Debug
deleted file mode 100644
index 19bdb9c3346..00000000000
--- a/wmake/rules/linux64Gcc46/c++Debug
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -ggdb3 -DFULLDEBUG
-c++OPT      = -O0 -fdefault-inline
diff --git a/wmake/rules/linux64Gcc46/c++Opt b/wmake/rules/linux64Gcc46/c++Opt
deleted file mode 100644
index 599e6aba611..00000000000
--- a/wmake/rules/linux64Gcc46/c++Opt
+++ /dev/null
@@ -1,4 +0,0 @@
-c++DBUG     =
-c++OPT      = -O3
-
-ROUNDING_MATH = -frounding-math
diff --git a/wmake/rules/linux64Gcc46/c++Prof b/wmake/rules/linux64Gcc46/c++Prof
deleted file mode 100644
index 3bda4dad55e..00000000000
--- a/wmake/rules/linux64Gcc46/c++Prof
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -pg
-c++OPT     = -O2
diff --git a/wmake/rules/linux64Gcc46/cDebug b/wmake/rules/linux64Gcc46/cDebug
deleted file mode 100644
index 72b638f4582..00000000000
--- a/wmake/rules/linux64Gcc46/cDebug
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -ggdb -DFULLDEBUG
-cOPT        = -O1 -fdefault-inline -finline-functions
diff --git a/wmake/rules/linux64Gcc46/cOpt b/wmake/rules/linux64Gcc46/cOpt
deleted file mode 100644
index 17318709f1f..00000000000
--- a/wmake/rules/linux64Gcc46/cOpt
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       =
-cOPT        = -O3
diff --git a/wmake/rules/linux64Gcc46/cProf b/wmake/rules/linux64Gcc46/cProf
deleted file mode 100644
index ca3ac9bf5f0..00000000000
--- a/wmake/rules/linux64Gcc46/cProf
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -pg
-cOPT        = -O2
diff --git a/wmake/rules/linux64Gcc46/general b/wmake/rules/linux64Gcc46/general
deleted file mode 100644
index 4a42b11b1ee..00000000000
--- a/wmake/rules/linux64Gcc46/general
+++ /dev/null
@@ -1,8 +0,0 @@
-CPP        = cpp -traditional-cpp
-
-PROJECT_LIBS = -l$(WM_PROJECT) -ldl
-
-include $(GENERAL_RULES)/standard
-
-include $(RULES)/c
-include $(RULES)/c++
diff --git a/wmake/rules/linux64Gcc46/mplibHPMPI b/wmake/rules/linux64Gcc46/mplibHPMPI
deleted file mode 100644
index 574492a236a..00000000000
--- a/wmake/rules/linux64Gcc46/mplibHPMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     =
-PINC       = -I$(MPI_ARCH_PATH)/include -D_MPICC_H
-PLIBS      = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi
diff --git a/wmake/rules/linux64Gcc46/mplibINTELMPI b/wmake/rules/linux64Gcc46/mplibINTELMPI
deleted file mode 100644
index cf80ec2eaf6..00000000000
--- a/wmake/rules/linux64Gcc46/mplibINTELMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     = -DMPICH_SKIP_MPICXX
-PINC       = -I$(MPI_ARCH_PATH)/include64
-PLIBS      = -L$(MPI_ARCH_PATH)/lib64 -lmpi
diff --git a/wmake/rules/linux64Gcc47 b/wmake/rules/linux64Gcc47
new file mode 120000
index 00000000000..7a0c1a85050
--- /dev/null
+++ b/wmake/rules/linux64Gcc47
@@ -0,0 +1 @@
+linux64Gcc
\ No newline at end of file
diff --git a/wmake/rules/linux64Gcc47/c b/wmake/rules/linux64Gcc47/c
deleted file mode 100644
index 66435ccf057..00000000000
--- a/wmake/rules/linux64Gcc47/c
+++ /dev/null
@@ -1,16 +0,0 @@
-SUFFIXES += .c
-
-cWARN        = -Wall
-
-cc          = gcc -m64
-
-include $(RULES)/c$(WM_COMPILE_OPTION)
-
-cFLAGS      = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
-
-ctoo        = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
-
-LINK_LIBS   = $(cDBUG)
-
-LINKLIBSO   = $(cc) -shared
-LINKEXE     = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
diff --git a/wmake/rules/linux64Gcc47/c++ b/wmake/rules/linux64Gcc47/c++
deleted file mode 100644
index a23dd820efe..00000000000
--- a/wmake/rules/linux64Gcc47/c++
+++ /dev/null
@@ -1,24 +0,0 @@
-SUFFIXES += .C
-
-c++WARN     = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -Wno-invalid-offsetof
-
-# Suppress CGAL warnings
-c++CGALWARN = -Wall -Wextra -Wno-unused-parameter -Wno-old-style-cast -Wnon-virtual-dtor
-
-CC          = g++ -m64
-
-include $(RULES)/c++$(WM_COMPILE_OPTION)
-
-ptFLAGS     = -DNoRepository -ftemplate-depth-100
-
-c++FLAGS    = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
-
-Ctoo        = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
-cxxtoo      = $(Ctoo)
-cctoo       = $(Ctoo)
-cpptoo      = $(Ctoo)
-
-LINK_LIBS   = $(c++DBUG)
-
-LINKLIBSO   = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-LINKEXE     = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/wmake/rules/linux64Gcc47/c++Debug b/wmake/rules/linux64Gcc47/c++Debug
deleted file mode 100644
index 19bdb9c3346..00000000000
--- a/wmake/rules/linux64Gcc47/c++Debug
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -ggdb3 -DFULLDEBUG
-c++OPT      = -O0 -fdefault-inline
diff --git a/wmake/rules/linux64Gcc47/c++Opt b/wmake/rules/linux64Gcc47/c++Opt
deleted file mode 100644
index 599e6aba611..00000000000
--- a/wmake/rules/linux64Gcc47/c++Opt
+++ /dev/null
@@ -1,4 +0,0 @@
-c++DBUG     =
-c++OPT      = -O3
-
-ROUNDING_MATH = -frounding-math
diff --git a/wmake/rules/linux64Gcc47/c++Prof b/wmake/rules/linux64Gcc47/c++Prof
deleted file mode 100644
index 3bda4dad55e..00000000000
--- a/wmake/rules/linux64Gcc47/c++Prof
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -pg
-c++OPT     = -O2
diff --git a/wmake/rules/linux64Gcc47/cDebug b/wmake/rules/linux64Gcc47/cDebug
deleted file mode 100644
index 72b638f4582..00000000000
--- a/wmake/rules/linux64Gcc47/cDebug
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -ggdb -DFULLDEBUG
-cOPT        = -O1 -fdefault-inline -finline-functions
diff --git a/wmake/rules/linux64Gcc47/cOpt b/wmake/rules/linux64Gcc47/cOpt
deleted file mode 100644
index 17318709f1f..00000000000
--- a/wmake/rules/linux64Gcc47/cOpt
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       =
-cOPT        = -O3
diff --git a/wmake/rules/linux64Gcc47/cProf b/wmake/rules/linux64Gcc47/cProf
deleted file mode 100644
index ca3ac9bf5f0..00000000000
--- a/wmake/rules/linux64Gcc47/cProf
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -pg
-cOPT        = -O2
diff --git a/wmake/rules/linux64Gcc47/general b/wmake/rules/linux64Gcc47/general
deleted file mode 100644
index 4a42b11b1ee..00000000000
--- a/wmake/rules/linux64Gcc47/general
+++ /dev/null
@@ -1,8 +0,0 @@
-CPP        = cpp -traditional-cpp
-
-PROJECT_LIBS = -l$(WM_PROJECT) -ldl
-
-include $(GENERAL_RULES)/standard
-
-include $(RULES)/c
-include $(RULES)/c++
diff --git a/wmake/rules/linux64Gcc47/mplibHPMPI b/wmake/rules/linux64Gcc47/mplibHPMPI
deleted file mode 100644
index 574492a236a..00000000000
--- a/wmake/rules/linux64Gcc47/mplibHPMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     =
-PINC       = -I$(MPI_ARCH_PATH)/include -D_MPICC_H
-PLIBS      = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi
diff --git a/wmake/rules/linux64Gcc47/mplibINTELMPI b/wmake/rules/linux64Gcc47/mplibINTELMPI
deleted file mode 100644
index cf80ec2eaf6..00000000000
--- a/wmake/rules/linux64Gcc47/mplibINTELMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     = -DMPICH_SKIP_MPICXX
-PINC       = -I$(MPI_ARCH_PATH)/include64
-PLIBS      = -L$(MPI_ARCH_PATH)/lib64 -lmpi
diff --git a/wmake/rules/linux64Gcc48 b/wmake/rules/linux64Gcc48
new file mode 120000
index 00000000000..7a0c1a85050
--- /dev/null
+++ b/wmake/rules/linux64Gcc48
@@ -0,0 +1 @@
+linux64Gcc
\ No newline at end of file
diff --git a/wmake/rules/linux64Gcc48/c b/wmake/rules/linux64Gcc48/c
deleted file mode 100644
index 66435ccf057..00000000000
--- a/wmake/rules/linux64Gcc48/c
+++ /dev/null
@@ -1,16 +0,0 @@
-SUFFIXES += .c
-
-cWARN        = -Wall
-
-cc          = gcc -m64
-
-include $(RULES)/c$(WM_COMPILE_OPTION)
-
-cFLAGS      = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
-
-ctoo        = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
-
-LINK_LIBS   = $(cDBUG)
-
-LINKLIBSO   = $(cc) -shared
-LINKEXE     = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
diff --git a/wmake/rules/linux64Gcc48/c++ b/wmake/rules/linux64Gcc48/c++
deleted file mode 100644
index a23dd820efe..00000000000
--- a/wmake/rules/linux64Gcc48/c++
+++ /dev/null
@@ -1,24 +0,0 @@
-SUFFIXES += .C
-
-c++WARN     = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -Wno-invalid-offsetof
-
-# Suppress CGAL warnings
-c++CGALWARN = -Wall -Wextra -Wno-unused-parameter -Wno-old-style-cast -Wnon-virtual-dtor
-
-CC          = g++ -m64
-
-include $(RULES)/c++$(WM_COMPILE_OPTION)
-
-ptFLAGS     = -DNoRepository -ftemplate-depth-100
-
-c++FLAGS    = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
-
-Ctoo        = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
-cxxtoo      = $(Ctoo)
-cctoo       = $(Ctoo)
-cpptoo      = $(Ctoo)
-
-LINK_LIBS   = $(c++DBUG)
-
-LINKLIBSO   = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-LINKEXE     = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/wmake/rules/linux64Gcc48/c++Debug b/wmake/rules/linux64Gcc48/c++Debug
deleted file mode 100644
index 19bdb9c3346..00000000000
--- a/wmake/rules/linux64Gcc48/c++Debug
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -ggdb3 -DFULLDEBUG
-c++OPT      = -O0 -fdefault-inline
diff --git a/wmake/rules/linux64Gcc48/c++Opt b/wmake/rules/linux64Gcc48/c++Opt
deleted file mode 100644
index 599e6aba611..00000000000
--- a/wmake/rules/linux64Gcc48/c++Opt
+++ /dev/null
@@ -1,4 +0,0 @@
-c++DBUG     =
-c++OPT      = -O3
-
-ROUNDING_MATH = -frounding-math
diff --git a/wmake/rules/linux64Gcc48/c++Prof b/wmake/rules/linux64Gcc48/c++Prof
deleted file mode 100644
index 3bda4dad55e..00000000000
--- a/wmake/rules/linux64Gcc48/c++Prof
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -pg
-c++OPT     = -O2
diff --git a/wmake/rules/linux64Gcc48/cDebug b/wmake/rules/linux64Gcc48/cDebug
deleted file mode 100644
index 72b638f4582..00000000000
--- a/wmake/rules/linux64Gcc48/cDebug
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -ggdb -DFULLDEBUG
-cOPT        = -O1 -fdefault-inline -finline-functions
diff --git a/wmake/rules/linux64Gcc48/cOpt b/wmake/rules/linux64Gcc48/cOpt
deleted file mode 100644
index 17318709f1f..00000000000
--- a/wmake/rules/linux64Gcc48/cOpt
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       =
-cOPT        = -O3
diff --git a/wmake/rules/linux64Gcc48/cProf b/wmake/rules/linux64Gcc48/cProf
deleted file mode 100644
index ca3ac9bf5f0..00000000000
--- a/wmake/rules/linux64Gcc48/cProf
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -pg
-cOPT        = -O2
diff --git a/wmake/rules/linux64Gcc48/general b/wmake/rules/linux64Gcc48/general
deleted file mode 100644
index 4a42b11b1ee..00000000000
--- a/wmake/rules/linux64Gcc48/general
+++ /dev/null
@@ -1,8 +0,0 @@
-CPP        = cpp -traditional-cpp
-
-PROJECT_LIBS = -l$(WM_PROJECT) -ldl
-
-include $(GENERAL_RULES)/standard
-
-include $(RULES)/c
-include $(RULES)/c++
diff --git a/wmake/rules/linux64Gcc48/mplibHPMPI b/wmake/rules/linux64Gcc48/mplibHPMPI
deleted file mode 100644
index 574492a236a..00000000000
--- a/wmake/rules/linux64Gcc48/mplibHPMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     =
-PINC       = -I$(MPI_ARCH_PATH)/include -D_MPICC_H
-PLIBS      = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi
diff --git a/wmake/rules/linux64Gcc48/mplibINTELMPI b/wmake/rules/linux64Gcc48/mplibINTELMPI
deleted file mode 100644
index cf80ec2eaf6..00000000000
--- a/wmake/rules/linux64Gcc48/mplibINTELMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     = -DMPICH_SKIP_MPICXX
-PINC       = -I$(MPI_ARCH_PATH)/include64
-PLIBS      = -L$(MPI_ARCH_PATH)/lib64 -lmpi
diff --git a/wmake/rules/linux64Gcc49 b/wmake/rules/linux64Gcc49
new file mode 120000
index 00000000000..7a0c1a85050
--- /dev/null
+++ b/wmake/rules/linux64Gcc49
@@ -0,0 +1 @@
+linux64Gcc
\ No newline at end of file
diff --git a/wmake/rules/linux64Gcc49/c b/wmake/rules/linux64Gcc49/c
deleted file mode 100644
index 66435ccf057..00000000000
--- a/wmake/rules/linux64Gcc49/c
+++ /dev/null
@@ -1,16 +0,0 @@
-SUFFIXES += .c
-
-cWARN        = -Wall
-
-cc          = gcc -m64
-
-include $(RULES)/c$(WM_COMPILE_OPTION)
-
-cFLAGS      = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
-
-ctoo        = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
-
-LINK_LIBS   = $(cDBUG)
-
-LINKLIBSO   = $(cc) -shared
-LINKEXE     = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
diff --git a/wmake/rules/linux64Gcc49/c++ b/wmake/rules/linux64Gcc49/c++
deleted file mode 100644
index a23dd820efe..00000000000
--- a/wmake/rules/linux64Gcc49/c++
+++ /dev/null
@@ -1,24 +0,0 @@
-SUFFIXES += .C
-
-c++WARN     = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -Wno-invalid-offsetof
-
-# Suppress CGAL warnings
-c++CGALWARN = -Wall -Wextra -Wno-unused-parameter -Wno-old-style-cast -Wnon-virtual-dtor
-
-CC          = g++ -m64
-
-include $(RULES)/c++$(WM_COMPILE_OPTION)
-
-ptFLAGS     = -DNoRepository -ftemplate-depth-100
-
-c++FLAGS    = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
-
-Ctoo        = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
-cxxtoo      = $(Ctoo)
-cctoo       = $(Ctoo)
-cpptoo      = $(Ctoo)
-
-LINK_LIBS   = $(c++DBUG)
-
-LINKLIBSO   = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-LINKEXE     = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/wmake/rules/linux64Gcc49/c++Debug b/wmake/rules/linux64Gcc49/c++Debug
deleted file mode 100644
index 19bdb9c3346..00000000000
--- a/wmake/rules/linux64Gcc49/c++Debug
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -ggdb3 -DFULLDEBUG
-c++OPT      = -O0 -fdefault-inline
diff --git a/wmake/rules/linux64Gcc49/c++Opt b/wmake/rules/linux64Gcc49/c++Opt
deleted file mode 100644
index 599e6aba611..00000000000
--- a/wmake/rules/linux64Gcc49/c++Opt
+++ /dev/null
@@ -1,4 +0,0 @@
-c++DBUG     =
-c++OPT      = -O3
-
-ROUNDING_MATH = -frounding-math
diff --git a/wmake/rules/linux64Gcc49/c++Prof b/wmake/rules/linux64Gcc49/c++Prof
deleted file mode 100644
index 3bda4dad55e..00000000000
--- a/wmake/rules/linux64Gcc49/c++Prof
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -pg
-c++OPT     = -O2
diff --git a/wmake/rules/linux64Gcc49/cDebug b/wmake/rules/linux64Gcc49/cDebug
deleted file mode 100644
index 72b638f4582..00000000000
--- a/wmake/rules/linux64Gcc49/cDebug
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -ggdb -DFULLDEBUG
-cOPT        = -O1 -fdefault-inline -finline-functions
diff --git a/wmake/rules/linux64Gcc49/cOpt b/wmake/rules/linux64Gcc49/cOpt
deleted file mode 100644
index 17318709f1f..00000000000
--- a/wmake/rules/linux64Gcc49/cOpt
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       =
-cOPT        = -O3
diff --git a/wmake/rules/linux64Gcc49/cProf b/wmake/rules/linux64Gcc49/cProf
deleted file mode 100644
index ca3ac9bf5f0..00000000000
--- a/wmake/rules/linux64Gcc49/cProf
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -pg
-cOPT        = -O2
diff --git a/wmake/rules/linux64Gcc49/general b/wmake/rules/linux64Gcc49/general
deleted file mode 100644
index 4a42b11b1ee..00000000000
--- a/wmake/rules/linux64Gcc49/general
+++ /dev/null
@@ -1,8 +0,0 @@
-CPP        = cpp -traditional-cpp
-
-PROJECT_LIBS = -l$(WM_PROJECT) -ldl
-
-include $(GENERAL_RULES)/standard
-
-include $(RULES)/c
-include $(RULES)/c++
diff --git a/wmake/rules/linux64Gcc49/mplibHPMPI b/wmake/rules/linux64Gcc49/mplibHPMPI
deleted file mode 100644
index 574492a236a..00000000000
--- a/wmake/rules/linux64Gcc49/mplibHPMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     =
-PINC       = -I$(MPI_ARCH_PATH)/include -D_MPICC_H
-PLIBS      = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi
diff --git a/wmake/rules/linux64Gcc49/mplibINTELMPI b/wmake/rules/linux64Gcc49/mplibINTELMPI
deleted file mode 100644
index cf80ec2eaf6..00000000000
--- a/wmake/rules/linux64Gcc49/mplibINTELMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     = -DMPICH_SKIP_MPICXX
-PINC       = -I$(MPI_ARCH_PATH)/include64
-PLIBS      = -L$(MPI_ARCH_PATH)/lib64 -lmpi
diff --git a/wmake/rules/linux64Gcc50 b/wmake/rules/linux64Gcc50
new file mode 120000
index 00000000000..7a0c1a85050
--- /dev/null
+++ b/wmake/rules/linux64Gcc50
@@ -0,0 +1 @@
+linux64Gcc
\ No newline at end of file
diff --git a/wmake/rules/linuxGcc45 b/wmake/rules/linuxGcc45
new file mode 120000
index 00000000000..e30dec7be4a
--- /dev/null
+++ b/wmake/rules/linuxGcc45
@@ -0,0 +1 @@
+linuxGcc
\ No newline at end of file
diff --git a/wmake/rules/linuxGcc45/c b/wmake/rules/linuxGcc45/c
deleted file mode 100644
index 81c64cf710b..00000000000
--- a/wmake/rules/linuxGcc45/c
+++ /dev/null
@@ -1,16 +0,0 @@
-SUFFIXES += .c
-
-cWARN        = -Wall
-
-cc          = gcc -m32
-
-include $(RULES)/c$(WM_COMPILE_OPTION)
-
-cFLAGS      = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
-
-ctoo        = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
-
-LINK_LIBS   = $(cDBUG)
-
-LINKLIBSO   = $(cc) -shared
-LINKEXE     = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
diff --git a/wmake/rules/linuxGcc45/c++ b/wmake/rules/linuxGcc45/c++
deleted file mode 100644
index b00d78f9848..00000000000
--- a/wmake/rules/linuxGcc45/c++
+++ /dev/null
@@ -1,24 +0,0 @@
-SUFFIXES += .C
-
-c++WARN     = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -Wno-invalid-offsetof
-
-# Suppress CGAL warnings
-c++CGALWARN = -Wall -Wextra -Wno-unused-parameter -Wno-old-style-cast -Wnon-virtual-dtor
-
-CC          = g++ -m32
-
-include $(RULES)/c++$(WM_COMPILE_OPTION)
-
-ptFLAGS     = -DNoRepository -ftemplate-depth-100
-
-c++FLAGS    = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
-
-Ctoo        = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
-cxxtoo      = $(Ctoo)
-cctoo       = $(Ctoo)
-cpptoo      = $(Ctoo)
-
-LINK_LIBS   = $(c++DBUG)
-
-LINKLIBSO   = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-LINKEXE     = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/wmake/rules/linuxGcc45/c++Debug b/wmake/rules/linuxGcc45/c++Debug
deleted file mode 100644
index 19bdb9c3346..00000000000
--- a/wmake/rules/linuxGcc45/c++Debug
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -ggdb3 -DFULLDEBUG
-c++OPT      = -O0 -fdefault-inline
diff --git a/wmake/rules/linuxGcc45/c++Opt b/wmake/rules/linuxGcc45/c++Opt
deleted file mode 100644
index 599e6aba611..00000000000
--- a/wmake/rules/linuxGcc45/c++Opt
+++ /dev/null
@@ -1,4 +0,0 @@
-c++DBUG     =
-c++OPT      = -O3
-
-ROUNDING_MATH = -frounding-math
diff --git a/wmake/rules/linuxGcc45/c++Prof b/wmake/rules/linuxGcc45/c++Prof
deleted file mode 100644
index 3bda4dad55e..00000000000
--- a/wmake/rules/linuxGcc45/c++Prof
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -pg
-c++OPT     = -O2
diff --git a/wmake/rules/linuxGcc45/cDebug b/wmake/rules/linuxGcc45/cDebug
deleted file mode 100644
index 72b638f4582..00000000000
--- a/wmake/rules/linuxGcc45/cDebug
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -ggdb -DFULLDEBUG
-cOPT        = -O1 -fdefault-inline -finline-functions
diff --git a/wmake/rules/linuxGcc45/cOpt b/wmake/rules/linuxGcc45/cOpt
deleted file mode 100644
index 17318709f1f..00000000000
--- a/wmake/rules/linuxGcc45/cOpt
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       =
-cOPT        = -O3
diff --git a/wmake/rules/linuxGcc45/cProf b/wmake/rules/linuxGcc45/cProf
deleted file mode 100644
index ca3ac9bf5f0..00000000000
--- a/wmake/rules/linuxGcc45/cProf
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -pg
-cOPT        = -O2
diff --git a/wmake/rules/linuxGcc45/general b/wmake/rules/linuxGcc45/general
deleted file mode 100644
index 4b051e6b984..00000000000
--- a/wmake/rules/linuxGcc45/general
+++ /dev/null
@@ -1,9 +0,0 @@
-CPP        = cpp -traditional-cpp
-LD         = ld -melf_i386
-
-PROJECT_LIBS = -l$(WM_PROJECT) -ldl
-
-include $(GENERAL_RULES)/standard
-
-include $(RULES)/c
-include $(RULES)/c++
diff --git a/wmake/rules/linuxGcc45/mplibHPMPI b/wmake/rules/linuxGcc45/mplibHPMPI
deleted file mode 100644
index 8aff40632bd..00000000000
--- a/wmake/rules/linuxGcc45/mplibHPMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     =
-PINC       = -I$(MPI_ARCH_PATH)/include -D_MPICC_H
-PLIBS      = -L$(MPI_ARCH_PATH)/lib/linux_ia32 -lmpi
diff --git a/wmake/rules/linuxGcc46 b/wmake/rules/linuxGcc46
new file mode 120000
index 00000000000..e30dec7be4a
--- /dev/null
+++ b/wmake/rules/linuxGcc46
@@ -0,0 +1 @@
+linuxGcc
\ No newline at end of file
diff --git a/wmake/rules/linuxGcc46/c b/wmake/rules/linuxGcc46/c
deleted file mode 100644
index 81c64cf710b..00000000000
--- a/wmake/rules/linuxGcc46/c
+++ /dev/null
@@ -1,16 +0,0 @@
-SUFFIXES += .c
-
-cWARN        = -Wall
-
-cc          = gcc -m32
-
-include $(RULES)/c$(WM_COMPILE_OPTION)
-
-cFLAGS      = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
-
-ctoo        = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
-
-LINK_LIBS   = $(cDBUG)
-
-LINKLIBSO   = $(cc) -shared
-LINKEXE     = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
diff --git a/wmake/rules/linuxGcc46/c++ b/wmake/rules/linuxGcc46/c++
deleted file mode 100644
index b00d78f9848..00000000000
--- a/wmake/rules/linuxGcc46/c++
+++ /dev/null
@@ -1,24 +0,0 @@
-SUFFIXES += .C
-
-c++WARN     = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -Wno-invalid-offsetof
-
-# Suppress CGAL warnings
-c++CGALWARN = -Wall -Wextra -Wno-unused-parameter -Wno-old-style-cast -Wnon-virtual-dtor
-
-CC          = g++ -m32
-
-include $(RULES)/c++$(WM_COMPILE_OPTION)
-
-ptFLAGS     = -DNoRepository -ftemplate-depth-100
-
-c++FLAGS    = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
-
-Ctoo        = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
-cxxtoo      = $(Ctoo)
-cctoo       = $(Ctoo)
-cpptoo      = $(Ctoo)
-
-LINK_LIBS   = $(c++DBUG)
-
-LINKLIBSO   = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-LINKEXE     = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/wmake/rules/linuxGcc46/c++Debug b/wmake/rules/linuxGcc46/c++Debug
deleted file mode 100644
index 19bdb9c3346..00000000000
--- a/wmake/rules/linuxGcc46/c++Debug
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -ggdb3 -DFULLDEBUG
-c++OPT      = -O0 -fdefault-inline
diff --git a/wmake/rules/linuxGcc46/c++Opt b/wmake/rules/linuxGcc46/c++Opt
deleted file mode 100644
index 599e6aba611..00000000000
--- a/wmake/rules/linuxGcc46/c++Opt
+++ /dev/null
@@ -1,4 +0,0 @@
-c++DBUG     =
-c++OPT      = -O3
-
-ROUNDING_MATH = -frounding-math
diff --git a/wmake/rules/linuxGcc46/c++Prof b/wmake/rules/linuxGcc46/c++Prof
deleted file mode 100644
index 3bda4dad55e..00000000000
--- a/wmake/rules/linuxGcc46/c++Prof
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -pg
-c++OPT     = -O2
diff --git a/wmake/rules/linuxGcc46/cDebug b/wmake/rules/linuxGcc46/cDebug
deleted file mode 100644
index 72b638f4582..00000000000
--- a/wmake/rules/linuxGcc46/cDebug
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -ggdb -DFULLDEBUG
-cOPT        = -O1 -fdefault-inline -finline-functions
diff --git a/wmake/rules/linuxGcc46/cOpt b/wmake/rules/linuxGcc46/cOpt
deleted file mode 100644
index 17318709f1f..00000000000
--- a/wmake/rules/linuxGcc46/cOpt
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       =
-cOPT        = -O3
diff --git a/wmake/rules/linuxGcc46/cProf b/wmake/rules/linuxGcc46/cProf
deleted file mode 100644
index ca3ac9bf5f0..00000000000
--- a/wmake/rules/linuxGcc46/cProf
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -pg
-cOPT        = -O2
diff --git a/wmake/rules/linuxGcc46/general b/wmake/rules/linuxGcc46/general
deleted file mode 100644
index 4b051e6b984..00000000000
--- a/wmake/rules/linuxGcc46/general
+++ /dev/null
@@ -1,9 +0,0 @@
-CPP        = cpp -traditional-cpp
-LD         = ld -melf_i386
-
-PROJECT_LIBS = -l$(WM_PROJECT) -ldl
-
-include $(GENERAL_RULES)/standard
-
-include $(RULES)/c
-include $(RULES)/c++
diff --git a/wmake/rules/linuxGcc46/mplibHPMPI b/wmake/rules/linuxGcc46/mplibHPMPI
deleted file mode 100644
index 8aff40632bd..00000000000
--- a/wmake/rules/linuxGcc46/mplibHPMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     =
-PINC       = -I$(MPI_ARCH_PATH)/include -D_MPICC_H
-PLIBS      = -L$(MPI_ARCH_PATH)/lib/linux_ia32 -lmpi
diff --git a/wmake/rules/linuxGcc47 b/wmake/rules/linuxGcc47
new file mode 120000
index 00000000000..e30dec7be4a
--- /dev/null
+++ b/wmake/rules/linuxGcc47
@@ -0,0 +1 @@
+linuxGcc
\ No newline at end of file
diff --git a/wmake/rules/linuxGcc47/c b/wmake/rules/linuxGcc47/c
deleted file mode 100644
index 81c64cf710b..00000000000
--- a/wmake/rules/linuxGcc47/c
+++ /dev/null
@@ -1,16 +0,0 @@
-SUFFIXES += .c
-
-cWARN        = -Wall
-
-cc          = gcc -m32
-
-include $(RULES)/c$(WM_COMPILE_OPTION)
-
-cFLAGS      = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
-
-ctoo        = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
-
-LINK_LIBS   = $(cDBUG)
-
-LINKLIBSO   = $(cc) -shared
-LINKEXE     = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
diff --git a/wmake/rules/linuxGcc47/c++ b/wmake/rules/linuxGcc47/c++
deleted file mode 100644
index b00d78f9848..00000000000
--- a/wmake/rules/linuxGcc47/c++
+++ /dev/null
@@ -1,24 +0,0 @@
-SUFFIXES += .C
-
-c++WARN     = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -Wno-invalid-offsetof
-
-# Suppress CGAL warnings
-c++CGALWARN = -Wall -Wextra -Wno-unused-parameter -Wno-old-style-cast -Wnon-virtual-dtor
-
-CC          = g++ -m32
-
-include $(RULES)/c++$(WM_COMPILE_OPTION)
-
-ptFLAGS     = -DNoRepository -ftemplate-depth-100
-
-c++FLAGS    = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
-
-Ctoo        = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
-cxxtoo      = $(Ctoo)
-cctoo       = $(Ctoo)
-cpptoo      = $(Ctoo)
-
-LINK_LIBS   = $(c++DBUG)
-
-LINKLIBSO   = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-LINKEXE     = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/wmake/rules/linuxGcc47/c++Debug b/wmake/rules/linuxGcc47/c++Debug
deleted file mode 100644
index 19bdb9c3346..00000000000
--- a/wmake/rules/linuxGcc47/c++Debug
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -ggdb3 -DFULLDEBUG
-c++OPT      = -O0 -fdefault-inline
diff --git a/wmake/rules/linuxGcc47/c++Opt b/wmake/rules/linuxGcc47/c++Opt
deleted file mode 100644
index 599e6aba611..00000000000
--- a/wmake/rules/linuxGcc47/c++Opt
+++ /dev/null
@@ -1,4 +0,0 @@
-c++DBUG     =
-c++OPT      = -O3
-
-ROUNDING_MATH = -frounding-math
diff --git a/wmake/rules/linuxGcc47/c++Prof b/wmake/rules/linuxGcc47/c++Prof
deleted file mode 100644
index 3bda4dad55e..00000000000
--- a/wmake/rules/linuxGcc47/c++Prof
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -pg
-c++OPT     = -O2
diff --git a/wmake/rules/linuxGcc47/cDebug b/wmake/rules/linuxGcc47/cDebug
deleted file mode 100644
index 72b638f4582..00000000000
--- a/wmake/rules/linuxGcc47/cDebug
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -ggdb -DFULLDEBUG
-cOPT        = -O1 -fdefault-inline -finline-functions
diff --git a/wmake/rules/linuxGcc47/cOpt b/wmake/rules/linuxGcc47/cOpt
deleted file mode 100644
index 17318709f1f..00000000000
--- a/wmake/rules/linuxGcc47/cOpt
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       =
-cOPT        = -O3
diff --git a/wmake/rules/linuxGcc47/cProf b/wmake/rules/linuxGcc47/cProf
deleted file mode 100644
index ca3ac9bf5f0..00000000000
--- a/wmake/rules/linuxGcc47/cProf
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -pg
-cOPT        = -O2
diff --git a/wmake/rules/linuxGcc47/general b/wmake/rules/linuxGcc47/general
deleted file mode 100644
index 4b051e6b984..00000000000
--- a/wmake/rules/linuxGcc47/general
+++ /dev/null
@@ -1,9 +0,0 @@
-CPP        = cpp -traditional-cpp
-LD         = ld -melf_i386
-
-PROJECT_LIBS = -l$(WM_PROJECT) -ldl
-
-include $(GENERAL_RULES)/standard
-
-include $(RULES)/c
-include $(RULES)/c++
diff --git a/wmake/rules/linuxGcc47/mplibHPMPI b/wmake/rules/linuxGcc47/mplibHPMPI
deleted file mode 100644
index 8aff40632bd..00000000000
--- a/wmake/rules/linuxGcc47/mplibHPMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     =
-PINC       = -I$(MPI_ARCH_PATH)/include -D_MPICC_H
-PLIBS      = -L$(MPI_ARCH_PATH)/lib/linux_ia32 -lmpi
diff --git a/wmake/rules/linuxGcc48 b/wmake/rules/linuxGcc48
new file mode 120000
index 00000000000..e30dec7be4a
--- /dev/null
+++ b/wmake/rules/linuxGcc48
@@ -0,0 +1 @@
+linuxGcc
\ No newline at end of file
diff --git a/wmake/rules/linuxGcc48/c b/wmake/rules/linuxGcc48/c
deleted file mode 100644
index 81c64cf710b..00000000000
--- a/wmake/rules/linuxGcc48/c
+++ /dev/null
@@ -1,16 +0,0 @@
-SUFFIXES += .c
-
-cWARN        = -Wall
-
-cc          = gcc -m32
-
-include $(RULES)/c$(WM_COMPILE_OPTION)
-
-cFLAGS      = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
-
-ctoo        = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
-
-LINK_LIBS   = $(cDBUG)
-
-LINKLIBSO   = $(cc) -shared
-LINKEXE     = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
diff --git a/wmake/rules/linuxGcc48/c++ b/wmake/rules/linuxGcc48/c++
deleted file mode 100644
index b00d78f9848..00000000000
--- a/wmake/rules/linuxGcc48/c++
+++ /dev/null
@@ -1,24 +0,0 @@
-SUFFIXES += .C
-
-c++WARN     = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -Wno-invalid-offsetof
-
-# Suppress CGAL warnings
-c++CGALWARN = -Wall -Wextra -Wno-unused-parameter -Wno-old-style-cast -Wnon-virtual-dtor
-
-CC          = g++ -m32
-
-include $(RULES)/c++$(WM_COMPILE_OPTION)
-
-ptFLAGS     = -DNoRepository -ftemplate-depth-100
-
-c++FLAGS    = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
-
-Ctoo        = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
-cxxtoo      = $(Ctoo)
-cctoo       = $(Ctoo)
-cpptoo      = $(Ctoo)
-
-LINK_LIBS   = $(c++DBUG)
-
-LINKLIBSO   = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-LINKEXE     = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/wmake/rules/linuxGcc48/c++Debug b/wmake/rules/linuxGcc48/c++Debug
deleted file mode 100644
index 19bdb9c3346..00000000000
--- a/wmake/rules/linuxGcc48/c++Debug
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -ggdb3 -DFULLDEBUG
-c++OPT      = -O0 -fdefault-inline
diff --git a/wmake/rules/linuxGcc48/c++Opt b/wmake/rules/linuxGcc48/c++Opt
deleted file mode 100644
index 599e6aba611..00000000000
--- a/wmake/rules/linuxGcc48/c++Opt
+++ /dev/null
@@ -1,4 +0,0 @@
-c++DBUG     =
-c++OPT      = -O3
-
-ROUNDING_MATH = -frounding-math
diff --git a/wmake/rules/linuxGcc48/c++Prof b/wmake/rules/linuxGcc48/c++Prof
deleted file mode 100644
index 3bda4dad55e..00000000000
--- a/wmake/rules/linuxGcc48/c++Prof
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -pg
-c++OPT     = -O2
diff --git a/wmake/rules/linuxGcc48/cDebug b/wmake/rules/linuxGcc48/cDebug
deleted file mode 100644
index 72b638f4582..00000000000
--- a/wmake/rules/linuxGcc48/cDebug
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -ggdb -DFULLDEBUG
-cOPT        = -O1 -fdefault-inline -finline-functions
diff --git a/wmake/rules/linuxGcc48/cOpt b/wmake/rules/linuxGcc48/cOpt
deleted file mode 100644
index 17318709f1f..00000000000
--- a/wmake/rules/linuxGcc48/cOpt
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       =
-cOPT        = -O3
diff --git a/wmake/rules/linuxGcc48/cProf b/wmake/rules/linuxGcc48/cProf
deleted file mode 100644
index ca3ac9bf5f0..00000000000
--- a/wmake/rules/linuxGcc48/cProf
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -pg
-cOPT        = -O2
diff --git a/wmake/rules/linuxGcc48/general b/wmake/rules/linuxGcc48/general
deleted file mode 100644
index 4b051e6b984..00000000000
--- a/wmake/rules/linuxGcc48/general
+++ /dev/null
@@ -1,9 +0,0 @@
-CPP        = cpp -traditional-cpp
-LD         = ld -melf_i386
-
-PROJECT_LIBS = -l$(WM_PROJECT) -ldl
-
-include $(GENERAL_RULES)/standard
-
-include $(RULES)/c
-include $(RULES)/c++
diff --git a/wmake/rules/linuxGcc48/mplibHPMPI b/wmake/rules/linuxGcc48/mplibHPMPI
deleted file mode 100644
index 8aff40632bd..00000000000
--- a/wmake/rules/linuxGcc48/mplibHPMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     =
-PINC       = -I$(MPI_ARCH_PATH)/include -D_MPICC_H
-PLIBS      = -L$(MPI_ARCH_PATH)/lib/linux_ia32 -lmpi
diff --git a/wmake/rules/linuxGcc49 b/wmake/rules/linuxGcc49
new file mode 120000
index 00000000000..e30dec7be4a
--- /dev/null
+++ b/wmake/rules/linuxGcc49
@@ -0,0 +1 @@
+linuxGcc
\ No newline at end of file
diff --git a/wmake/rules/linuxGcc49/c b/wmake/rules/linuxGcc49/c
deleted file mode 100644
index 81c64cf710b..00000000000
--- a/wmake/rules/linuxGcc49/c
+++ /dev/null
@@ -1,16 +0,0 @@
-SUFFIXES += .c
-
-cWARN        = -Wall
-
-cc          = gcc -m32
-
-include $(RULES)/c$(WM_COMPILE_OPTION)
-
-cFLAGS      = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
-
-ctoo        = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
-
-LINK_LIBS   = $(cDBUG)
-
-LINKLIBSO   = $(cc) -shared
-LINKEXE     = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
diff --git a/wmake/rules/linuxGcc49/c++ b/wmake/rules/linuxGcc49/c++
deleted file mode 100644
index b00d78f9848..00000000000
--- a/wmake/rules/linuxGcc49/c++
+++ /dev/null
@@ -1,24 +0,0 @@
-SUFFIXES += .C
-
-c++WARN     = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -Wno-invalid-offsetof
-
-# Suppress CGAL warnings
-c++CGALWARN = -Wall -Wextra -Wno-unused-parameter -Wno-old-style-cast -Wnon-virtual-dtor
-
-CC          = g++ -m32
-
-include $(RULES)/c++$(WM_COMPILE_OPTION)
-
-ptFLAGS     = -DNoRepository -ftemplate-depth-100
-
-c++FLAGS    = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
-
-Ctoo        = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
-cxxtoo      = $(Ctoo)
-cctoo       = $(Ctoo)
-cpptoo      = $(Ctoo)
-
-LINK_LIBS   = $(c++DBUG)
-
-LINKLIBSO   = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-LINKEXE     = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/wmake/rules/linuxGcc49/c++Debug b/wmake/rules/linuxGcc49/c++Debug
deleted file mode 100644
index 19bdb9c3346..00000000000
--- a/wmake/rules/linuxGcc49/c++Debug
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -ggdb3 -DFULLDEBUG
-c++OPT      = -O0 -fdefault-inline
diff --git a/wmake/rules/linuxGcc49/c++Opt b/wmake/rules/linuxGcc49/c++Opt
deleted file mode 100644
index 599e6aba611..00000000000
--- a/wmake/rules/linuxGcc49/c++Opt
+++ /dev/null
@@ -1,4 +0,0 @@
-c++DBUG     =
-c++OPT      = -O3
-
-ROUNDING_MATH = -frounding-math
diff --git a/wmake/rules/linuxGcc49/c++Prof b/wmake/rules/linuxGcc49/c++Prof
deleted file mode 100644
index 3bda4dad55e..00000000000
--- a/wmake/rules/linuxGcc49/c++Prof
+++ /dev/null
@@ -1,2 +0,0 @@
-c++DBUG    = -pg
-c++OPT     = -O2
diff --git a/wmake/rules/linuxGcc49/cDebug b/wmake/rules/linuxGcc49/cDebug
deleted file mode 100644
index 72b638f4582..00000000000
--- a/wmake/rules/linuxGcc49/cDebug
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -ggdb -DFULLDEBUG
-cOPT        = -O1 -fdefault-inline -finline-functions
diff --git a/wmake/rules/linuxGcc49/cOpt b/wmake/rules/linuxGcc49/cOpt
deleted file mode 100644
index 17318709f1f..00000000000
--- a/wmake/rules/linuxGcc49/cOpt
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       =
-cOPT        = -O3
diff --git a/wmake/rules/linuxGcc49/cProf b/wmake/rules/linuxGcc49/cProf
deleted file mode 100644
index ca3ac9bf5f0..00000000000
--- a/wmake/rules/linuxGcc49/cProf
+++ /dev/null
@@ -1,2 +0,0 @@
-cDBUG       = -pg
-cOPT        = -O2
diff --git a/wmake/rules/linuxGcc49/general b/wmake/rules/linuxGcc49/general
deleted file mode 100644
index 4b051e6b984..00000000000
--- a/wmake/rules/linuxGcc49/general
+++ /dev/null
@@ -1,9 +0,0 @@
-CPP        = cpp -traditional-cpp
-LD         = ld -melf_i386
-
-PROJECT_LIBS = -l$(WM_PROJECT) -ldl
-
-include $(GENERAL_RULES)/standard
-
-include $(RULES)/c
-include $(RULES)/c++
diff --git a/wmake/rules/linuxGcc49/mplibHPMPI b/wmake/rules/linuxGcc49/mplibHPMPI
deleted file mode 100644
index 8aff40632bd..00000000000
--- a/wmake/rules/linuxGcc49/mplibHPMPI
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     =
-PINC       = -I$(MPI_ARCH_PATH)/include -D_MPICC_H
-PLIBS      = -L$(MPI_ARCH_PATH)/lib/linux_ia32 -lmpi
diff --git a/wmake/rules/linuxGcc50 b/wmake/rules/linuxGcc50
new file mode 120000
index 00000000000..e30dec7be4a
--- /dev/null
+++ b/wmake/rules/linuxGcc50
@@ -0,0 +1 @@
+linuxGcc
\ No newline at end of file
-- 
GitLab