From 49cb728c87d4be65402b3df00b3151f17f23dedf Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@esi-group.com>
Date: Tue, 30 Apr 2019 11:28:23 +0200
Subject: [PATCH] COMP: avoid some implicit linkage (#1238)

---
 .../Make/options                               | 14 ++++++++++++--
 .../multiphase/MPPICInterFoam/Make/options     |  1 +
 .../multiphase/cavitatingFoam/Make/options     |  4 +++-
 .../cavitatingDyMFoam/Make/options             |  4 +++-
 .../multiphase/driftFluxFoam/Make/options      |  4 +++-
 .../Make/options                               | 16 +++++++++++++---
 .../Make/options                               |  3 +--
 .../laserDTRM/Make/options                     | 11 ++++++-----
 .../massTransferModels/Make/options            |  5 ++++-
 .../phasesSystem/Make/options                  | 18 ++++++++++++++----
 .../solvers/multiphase/interFoam/Make/options  |  4 +++-
 .../interFoam/overInterDyMFoam/Make/options    |  2 ++
 .../multiphase/interIsoFoam/Make/options       |  6 ++++--
 .../interfacialCompositionModels/Make/options  |  7 ++++---
 .../interfacialModels/Make/options             | 14 ++++++++------
 .../phaseSystems/Make/options                  | 15 +++++++++++----
 .../twoLiquidMixingFoam/Make/options           |  5 +++--
 .../multiphase/twoPhaseEulerFoam/Make/options  |  2 +-
 .../twoPhaseSystem/Make/options                | 13 ++++++++-----
 src/OpenFOAM/Make/options                      |  6 +++++-
 .../decompose/kahipDecomp/Make/options         |  1 +
 .../decompose/metisDecomp/Make/options         |  1 +
 .../decompose/ptscotchDecomp/Make/options      | 12 +++++++++---
 .../decompose/scotchDecomp/Make/options        | 10 ++++++++--
 24 files changed, 128 insertions(+), 50 deletions(-)

diff --git a/applications/solvers/multiphase/MPPICInterFoam/CompressibleTwoPhaseMixtureTurbulenceModels/Make/options b/applications/solvers/multiphase/MPPICInterFoam/CompressibleTwoPhaseMixtureTurbulenceModels/Make/options
index 03cad33b12..42c94360af 100644
--- a/applications/solvers/multiphase/MPPICInterFoam/CompressibleTwoPhaseMixtureTurbulenceModels/Make/options
+++ b/applications/solvers/multiphase/MPPICInterFoam/CompressibleTwoPhaseMixtureTurbulenceModels/Make/options
@@ -1,15 +1,25 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/transportModels/immiscibleIncompressibleTwoPhaseMixture/lnInclude \
+    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
+    -I$(LIB_SRC)/transportModels/immiscibleIncompressibleTwoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseIncompressible/lnInclude
+
+LIB_LIBS = \
+    -lfiniteVolume \
+    -lmeshTools \
+    -lincompressibleTransportModels \
+    -limmiscibleIncompressibleTwoPhaseMixture \
+    -linterfaceProperties \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lcompressibleTurbulenceModels
diff --git a/applications/solvers/multiphase/MPPICInterFoam/Make/options b/applications/solvers/multiphase/MPPICInterFoam/Make/options
index 4cfc4eb15c..4e877295c3 100644
--- a/applications/solvers/multiphase/MPPICInterFoam/Make/options
+++ b/applications/solvers/multiphase/MPPICInterFoam/Make/options
@@ -36,6 +36,7 @@ EXE_LIBS = \
     -lspecie \
     -lincompressibleTransportModels \
     -limmiscibleIncompressibleTwoPhaseMixture \
+    -linterfaceProperties \
     -lturbulenceModels \
     -lsampling \
     -lregionModels \
diff --git a/applications/solvers/multiphase/cavitatingFoam/Make/options b/applications/solvers/multiphase/cavitatingFoam/Make/options
index 1fa237ac25..d12431dcd3 100644
--- a/applications/solvers/multiphase/cavitatingFoam/Make/options
+++ b/applications/solvers/multiphase/cavitatingFoam/Make/options
@@ -1,10 +1,10 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
+    -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/barotropicCompressibilityModel/lnInclude
@@ -13,6 +13,8 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lfvOptions \
     -lmeshTools \
+    -lincompressibleTransportModels \
+    -linterfaceProperties \
     -lturbulenceModels \
     -lincompressibleTurbulenceModels \
     -lbarotropicCompressibilityModel
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options
index e155941dc9..fc06b222bd 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options
@@ -2,10 +2,10 @@ EXE_INC = \
     -I.. \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
+    -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/barotropicCompressibilityModel/lnInclude \
@@ -16,6 +16,8 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lfvOptions \
     -lmeshTools \
+    -lincompressibleTransportModels \
+    -linterfaceProperties \
     -lturbulenceModels \
     -lincompressibleTurbulenceModels \
     -lbarotropicCompressibilityModel \
diff --git a/applications/solvers/multiphase/driftFluxFoam/Make/options b/applications/solvers/multiphase/driftFluxFoam/Make/options
index 5822f754aa..d54870c688 100644
--- a/applications/solvers/multiphase/driftFluxFoam/Make/options
+++ b/applications/solvers/multiphase/driftFluxFoam/Make/options
@@ -16,8 +16,10 @@ EXE_LIBS = \
     -lfvOptions \
     -lmeshTools \
     -lsampling \
+    -lcompressibleTransportModels \
+    -lincompressibleTransportModels \
+    -ltwoPhaseMixture \
     -ldriftFluxTransportModels \
     -ldriftFluxRelativeVelocityModels \
-    -lcompressibleTransportModels \
     -lturbulenceModels \
     -lcompressibleTurbulenceModels
diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/CompressibleMultiPhaseTurbulenceModels/Make/options b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/CompressibleMultiPhaseTurbulenceModels/Make/options
index 01969d251b..1f33675d29 100644
--- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/CompressibleMultiPhaseTurbulenceModels/Make/options
+++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/CompressibleMultiPhaseTurbulenceModels/Make/options
@@ -1,11 +1,21 @@
 EXE_INC = \
     -I../phasesSystem/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/transportModels \
+    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseIncompressible/lnInclude
+
+LIB_LIBS = \
+    -lfiniteVolume \
+    -lmeshTools \
+    -lfluidThermophysicalModels \
+    -lspecie \
+    -lincompressibleTransportModels \
+    -lcompressibleTransportModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels
diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Make/options b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Make/options
index c96f1eac95..a1ce378ad8 100644
--- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Make/options
+++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Make/options
@@ -12,8 +12,7 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-    -I$(LIB_SRC)/transportModels/compressible/lnInclude
+    -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude
 
 EXE_LIBS = \
     -lfiniteVolume \
diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/Make/options b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/Make/options
index 165a136380..07ce7c685b 100644
--- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/Make/options
+++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/Make/options
@@ -1,11 +1,12 @@
 EXE_INC = \
     -I../phasesSystem/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/lagrangian/basic/lnInclude \
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude
+    -I$(LIB_SRC)/lagrangian/basic/lnInclude \
+    -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude
 
 LIB_LIBS = \
-    -lradiationModels \
+    -lfiniteVolume \
+    -lmeshTools \
     -llagrangian \
-    -lfiniteVolume
+    -lradiationModels
diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/massTransferModels/Make/options b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/massTransferModels/Make/options
index 4737c8af11..0a7adfbd04 100644
--- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/massTransferModels/Make/options
+++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/massTransferModels/Make/options
@@ -1,7 +1,7 @@
 EXE_INC = \
+    -I../phasesSystem/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I../phasesSystem/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
@@ -11,5 +11,8 @@ EXE_INC = \
 
 LIB_LIBS = \
     -lfiniteVolume \
+    -lmeshTools \
+    -lfluidThermophysicalModels \
+    -lreactionThermophysicalModels \
     -lsolidThermo \
     -lsolidSpecie
diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/phasesSystem/Make/options b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/phasesSystem/Make/options
index a7f8b3fe0b..4a4a3493dd 100644
--- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/phasesSystem/Make/options
+++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/phasesSystem/Make/options
@@ -9,14 +9,24 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/solidSpecie/lnInclude \
-    -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
-    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
+    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
+    -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
-    -I$(LIB_SRC)/combustionModels/lnInclude \
-    -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude
+    -I$(LIB_SRC)/combustionModels/lnInclude
 
 LIB_LIBS = \
+    -lfiniteVolume \
+    -lmeshTools \
+    -lfluidThermophysicalModels \
+    -lreactionThermophysicalModels \
+    -lsolidThermo \
+    -lcompressibleTransportModels \
+    -lincompressibleTransportModels \
+    -linterfaceProperties \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lcombustionModels
diff --git a/applications/solvers/multiphase/interFoam/Make/options b/applications/solvers/multiphase/interFoam/Make/options
index c2ffc6980c..a14b34a21f 100644
--- a/applications/solvers/multiphase/interFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/Make/options
@@ -5,9 +5,9 @@ EXE_INC = \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
     -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
+    -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/immiscibleIncompressibleTwoPhaseMixture/lnInclude
@@ -18,6 +18,8 @@ EXE_LIBS = \
     -lmeshTools \
     -lsampling \
     -ldynamicFvMesh \
+    -lincompressibleTransportModels \
+    -linterfaceProperties \
     -limmiscibleIncompressibleTwoPhaseMixture \
     -lturbulenceModels \
     -lincompressibleTurbulenceModels \
diff --git a/applications/solvers/multiphase/interFoam/overInterDyMFoam/Make/options b/applications/solvers/multiphase/interFoam/overInterDyMFoam/Make/options
index 1306fae1cb..bfc9da810d 100644
--- a/applications/solvers/multiphase/interFoam/overInterDyMFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/overInterDyMFoam/Make/options
@@ -21,6 +21,8 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lfvOptions \
     -lsampling \
+    -lincompressibleTransportModels \
+    -linterfaceProperties \
     -limmiscibleIncompressibleTwoPhaseMixture \
     -lturbulenceModels \
     -lincompressibleTurbulenceModels \
diff --git a/applications/solvers/multiphase/interIsoFoam/Make/options b/applications/solvers/multiphase/interIsoFoam/Make/options
index 14db7f98ed..30a64e1962 100644
--- a/applications/solvers/multiphase/interIsoFoam/Make/options
+++ b/applications/solvers/multiphase/interIsoFoam/Make/options
@@ -3,8 +3,8 @@ EXE_INC = \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
-    -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/transportModels \
+    -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
@@ -16,8 +16,10 @@ EXE_LIBS = \
     -lfvOptions \
     -lmeshTools \
     -lsampling \
+    -ldynamicFvMesh \
+    -lincompressibleTransportModels \
+    -linterfaceProperties \
     -limmiscibleIncompressibleTwoPhaseMixture \
     -lturbulenceModels \
     -lincompressibleTurbulenceModels \
-    -ldynamicFvMesh \
     -lwaveModels
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/options b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/options
index 65db644ba7..b5d8007867 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/options
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/options
@@ -1,5 +1,7 @@
 EXE_INC = \
     -I../phaseSystems/lnInclude \
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \
@@ -12,11 +14,10 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
-    -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
+    -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude
 
 LIB_LIBS = \
+    -lfiniteVolume \
     -lfluidThermophysicalModels \
     -lreactionThermophysicalModels \
     -lspecie
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/options b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/options
index 1e5f8f0aea..85a68fefcf 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/options
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/options
@@ -1,15 +1,17 @@
 EXE_INC = \
     -I../phaseSystems/lnInclude \
-    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
+    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels/incompressible/transportModel \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
-    -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
+    -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude
 
 LIB_LIBS = \
-    -lcompressibleTransportModels \
+    -lfiniteVolume \
     -lfluidThermophysicalModels \
-    -lspecie
+    -lcompressibleTransportModels \
+    -lspecie \
+    -lreactingPhaseSystem
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options
index b93dd16af6..50ef9b5521 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options
@@ -1,6 +1,9 @@
 EXE_INC = \
     -I../interfacialModels/lnInclude \
     -I../interfacialCompositionModels/lnInclude \
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude \
+    -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
@@ -8,10 +11,14 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
-    -I$(LIB_SRC)/combustionModels/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/sampling/lnInclude
+    -I$(LIB_SRC)/combustionModels/lnInclude
 
 LIB_LIBS = \
+    -lfiniteVolume \
+    -lfluidThermophysicalModels \
+    -lspecie \
+    -lreactionThermophysicalModels \
+    -lcompressibleTransportModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lcombustionModels
diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options b/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options
index fc80a171e5..ded7a8f39a 100644
--- a/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options
+++ b/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options
@@ -3,10 +3,10 @@ EXE_INC = \
     -I../VoF \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
+    -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude
 
@@ -14,6 +14,7 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lfvOptions \
     -lmeshTools \
-    -ltwoPhaseMixture \
+    -lincompressibleTransportModels \
+    -linterfaceProperties \
     -lturbulenceModels \
     -lincompressibleTurbulenceModels
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options
index 10c9111d82..45b60207aa 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options
@@ -2,8 +2,8 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
+    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/options
index 7c0e7485a9..cd6eefd591 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/options
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/options
@@ -1,18 +1,21 @@
 EXE_INC = \
     -I../twoPhaseSystem \
     -I../interfacialModels/lnInclude \
-    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude \
+    -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
+    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/sampling/lnInclude
 
 LIB_LIBS = \
+    -lfiniteVolume \
     -lincompressibleTransportModels \
     -lcompressibleTransportModels \
     -lfluidThermophysicalModels \
-    -lspecie
+    -lspecie \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels
diff --git a/src/OpenFOAM/Make/options b/src/OpenFOAM/Make/options
index a91a22e5c0..d9e7cdaf88 100644
--- a/src/OpenFOAM/Make/options
+++ b/src/OpenFOAM/Make/options
@@ -8,4 +8,8 @@ LIB_LIBS = \
     $(FOAM_LIBBIN)/libOSspecific.o \
     -lz
 
-LIB_LIBS += -L$(FOAM_LIBBIN)/dummy -lPstream
+ifeq ($(FOAM_LINK_DUMMY_PSTREAM),libo)
+    LIB_LIBS += $(FOAM_LIBBIN)/dummy/libPstream.o
+else
+    LIB_LIBS += -L$(FOAM_LIBBIN)/dummy -lPstream
+endif
diff --git a/src/parallel/decompose/kahipDecomp/Make/options b/src/parallel/decompose/kahipDecomp/Make/options
index 98706a6165..bcdb4ea4db 100644
--- a/src/parallel/decompose/kahipDecomp/Make/options
+++ b/src/parallel/decompose/kahipDecomp/Make/options
@@ -7,4 +7,5 @@ EXE_INC = \
  * openmp link dependency.
  */
 LIB_LIBS = \
+    -ldecompositionMethods \
     -L$(KAHIP_LIB_DIR) $(LINK_OPENMP) -lkahip
diff --git a/src/parallel/decompose/metisDecomp/Make/options b/src/parallel/decompose/metisDecomp/Make/options
index c44099aa7e..924cecca52 100644
--- a/src/parallel/decompose/metisDecomp/Make/options
+++ b/src/parallel/decompose/metisDecomp/Make/options
@@ -3,4 +3,5 @@ EXE_INC = \
     -I../decompositionMethods/lnInclude
 
 LIB_LIBS = \
+    -ldecompositionMethods \
     -L$(METIS_LIB_DIR) -lmetis
diff --git a/src/parallel/decompose/ptscotchDecomp/Make/options b/src/parallel/decompose/ptscotchDecomp/Make/options
index 42e41f8146..98e715ac73 100644
--- a/src/parallel/decompose/ptscotchDecomp/Make/options
+++ b/src/parallel/decompose/ptscotchDecomp/Make/options
@@ -16,12 +16,18 @@ EXE_INC = \
  * ptscotch 6 requires scotch linked in, but does not declare the dependency
  */
 LIB_LIBS = \
+    -L$(FOAM_LIBBIN) -ldecompositionMethods \
     -L$(PTSCOTCH_LIB_DIR) \
     -L$(SCOTCH_LIB_DIR) \
-    -lptscotch -lptscotcherrexit \
-    -lscotch
+    -lscotch \
+    -lptscotch
+
+/* Combined into libptscotch for windows compile */
+ifneq ($(WM_OSTYPE),MSwindows)
+    LIB_LIBS += -lptscotcherrexit
+endif
 
 /* May require librt, but scotch does not declare the dependency */
-ifeq ("$(EXT_SO)", ".so")
+ifeq ($(EXT_SO),.so)
     LIB_LIBS += -lrt
 endif
diff --git a/src/parallel/decompose/scotchDecomp/Make/options b/src/parallel/decompose/scotchDecomp/Make/options
index c605567ed6..1a4bd79edd 100644
--- a/src/parallel/decompose/scotchDecomp/Make/options
+++ b/src/parallel/decompose/scotchDecomp/Make/options
@@ -3,10 +3,16 @@ EXE_INC = \
     -I../decompositionMethods/lnInclude
 
 LIB_LIBS = \
+    -ldecompositionMethods \
     -L$(SCOTCH_LIB_DIR) \
-    -lscotch -lscotcherrexit
+    -lscotch
+
+/* Combined into libscotch for windows compile */
+ifneq ($(WM_OSTYPE),MSwindows)
+    LIB_LIBS += -lscotcherrexit
+endif
 
 /* May require librt, but scotch does not declare the dependency */
-ifeq ("$(EXT_SO)", ".so")
+ifeq ($(EXT_SO),.so)
     LIB_LIBS += -lrt
 endif
-- 
GitLab