diff --git a/wmake/rules/General/Clang/openmp b/wmake/rules/General/Clang/openmp
deleted file mode 100644
index 070a2c5d3ad0b2ef0b54b458bffa78b8ac915812..0000000000000000000000000000000000000000
--- a/wmake/rules/General/Clang/openmp
+++ /dev/null
@@ -1,8 +0,0 @@
-# Flags for compiling/linking openmp
-# The USE_OMP is for OpenFOAM-specific use (general use is _OPENMP)
-# -
-# Clang provides 'omp' and a link for 'gomp'.
-# With 'gomp' we can use system libs.
-
-COMP_OPENMP = -DUSE_OMP -fopenmp
-LINK_OPENMP = -lgomp
diff --git a/wmake/rules/General/Clang/openmp b/wmake/rules/General/Clang/openmp
new file mode 120000
index 0000000000000000000000000000000000000000..1320b58055ea958b1a33ed43a3e15f5b75dbcacf
--- /dev/null
+++ b/wmake/rules/General/Clang/openmp
@@ -0,0 +1 @@
+openmp-gomp
\ No newline at end of file
diff --git a/wmake/rules/General/Clang/openmp-gomp b/wmake/rules/General/Clang/openmp-gomp
new file mode 100644
index 0000000000000000000000000000000000000000..1cbfe932205cc41ebc2f9b7438924084cf457ba9
--- /dev/null
+++ b/wmake/rules/General/Clang/openmp-gomp
@@ -0,0 +1,8 @@
+# Flags for compiling/linking openmp
+# The USE_OMP is for OpenFOAM-specific use (general use is _OPENMP)
+# -
+# Clang provides 'omp' and a link for 'gomp'.
+# With 'gomp' we can also use system libs.
+
+COMP_OPENMP = -DUSE_OMP -fopenmp
+LINK_OPENMP = -lgomp
diff --git a/wmake/rules/General/Clang/openmp-omp b/wmake/rules/General/Clang/openmp-omp
new file mode 100644
index 0000000000000000000000000000000000000000..b54782f8cf090e0f4d0a5c080bdd373772536d63
--- /dev/null
+++ b/wmake/rules/General/Clang/openmp-omp
@@ -0,0 +1,5 @@
+# Flags for compiling/linking openmp
+# The USE_OMP is for OpenFOAM-specific use (general use is _OPENMP)
+
+COMP_OPENMP = -DUSE_OMP -fopenmp
+LINK_OPENMP = -lomp
diff --git a/wmake/rules/General/mplib b/wmake/rules/General/mplib
deleted file mode 100644
index 294bd86150160e40c0ac6bd51f5e6d5a6368cb0f..0000000000000000000000000000000000000000
--- a/wmake/rules/General/mplib
+++ /dev/null
@@ -1,3 +0,0 @@
-PFLAGS     =
-PINC       =
-PLIBS      =
diff --git a/wmake/rules/General/mplib b/wmake/rules/General/mplib
new file mode 120000
index 0000000000000000000000000000000000000000..b7d2b8d468cc632db0ac13b9728aab45bec2d8c5
--- /dev/null
+++ b/wmake/rules/General/mplib
@@ -0,0 +1 @@
+no-mpi
\ No newline at end of file
diff --git a/wmake/rules/General/no-mpi b/wmake/rules/General/no-mpi
new file mode 100644
index 0000000000000000000000000000000000000000..a682d31029b903edb7d5b05130d05218b6af4e25
--- /dev/null
+++ b/wmake/rules/General/no-mpi
@@ -0,0 +1,7 @@
+# Empty flags for not compiling/linking MPI
+
+PFLAGS     =
+PINC       =
+PLIBS      =
+
+#------------------------------------------------------------------------------
diff --git a/wmake/rules/General/no-openmp b/wmake/rules/General/no-openmp
new file mode 100644
index 0000000000000000000000000000000000000000..36ff42c0d986bac23bfcd72fe783ead0da47c497
--- /dev/null
+++ b/wmake/rules/General/no-openmp
@@ -0,0 +1,6 @@
+# Empty flags for not compiling/linking OPENMP
+
+COMP_OPENMP =
+LINK_OPENMP =
+
+#------------------------------------------------------------------------------
diff --git a/wmake/rules/darwin64Clang/general b/wmake/rules/darwin64Clang/general
index 1409ef1e6e96f6772cacec47c4774b3e306fc58b..eea19222602cb7ff19c703b56f902d933f46afc7 100644
--- a/wmake/rules/darwin64Clang/general
+++ b/wmake/rules/darwin64Clang/general
@@ -3,7 +3,16 @@ CPP        = cpp -traditional-cpp $(GFLAGS)
 PROJECT_LIBS = -l$(WM_PROJECT) -ldl
 
 include $(GENERAL_RULES)/standard
-include $(GENERAL_RULES)/Clang/openmp
+## include $(GENERAL_RULES)/Clang/openmp
+
+# Darwin-specific
+# ----
+COMP_OPENMP = -DUSE_OMP -Xpreprocessor -fopenmp
+LINK_OPENMP = -lomp
+# ----
+# Or disable
+# include $(GENERAL_RULES)/no-openmp
+# ----
 
 include $(DEFAULT_RULES)/c
 include $(DEFAULT_RULES)/c++