diff --git a/Allwclean b/Allwclean
index fd154867639fcc873407f3a78de8211efd165d15..9d7fe664dad2e258f10de51ac2cbf5385cd99ee7 100755
--- a/Allwclean
+++ b/Allwclean
@@ -3,8 +3,8 @@ cd ${0%/*} || exit 1                        # Run from this directory
 
 #------------------------------------------------------------------------------
 
-wclean libso meshLibrary
-wclean all executables
-wclean all utilities
+wclean meshLibrary
+wclean -all executables
+wclean -all utilities
 
 #------------------------------------------------------------------------------
diff --git a/Allwmake b/Allwmake
index c270dd415f0fe74737f04182ffab7d857acccbe6..55dcc618f8c3bb0551caa021b74b1eedb8457081 100755
--- a/Allwmake
+++ b/Allwmake
@@ -1,9 +1,7 @@
 #!/bin/sh
 cd ${0%/*} || exit 1                        # Run from this directory
-
-# Parse arguments for library compilation
-if [ -f $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments ]
-then  . $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
+if [ -f "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments ]
+then  . "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments
 fi
 
 #------------------------------------------------------------------------------
@@ -12,11 +10,12 @@ date "+%Y-%m-%d %H:%M:%S %z" 2>/dev/null || echo "date is unknown"
 echo "Starting compile of cfMesh with ${WM_PROJECT_DIR##*/} ${0##*}"
 echo "  $WM_COMPILER $WM_COMPILER_TYPE compiler"
 echo "  ${WM_OPTIONS}, with ${WM_MPLIB} ${FOAM_MPI}"
+echo "  prefix = ${FOAM_MODULE_PREFIX:-default (user)}"
 echo
 
 wmake libso meshLibrary
-wmake all executables
-wmake all utilities
+wmake -all executables
+wmake -all utilities
 
 # Some summary information
 echo
diff --git a/executables/cartesian2DMesh/Make/files b/executables/cartesian2DMesh/Make/files
index 594dafdcf83d3278763162d384620d43c2f7fec3..d3236f7cc0bb969d00c7400340a98b849b54fded 100644
--- a/executables/cartesian2DMesh/Make/files
+++ b/executables/cartesian2DMesh/Make/files
@@ -1,3 +1,3 @@
 cartesian2DMesh.C
 
-EXE = $(FOAM_APPBIN)/cartesian2DMesh
+EXE = $(FOAM_MODULE_APPBIN)/cartesian2DMesh
diff --git a/executables/cartesian2DMesh/Make/options b/executables/cartesian2DMesh/Make/options
index cf583700c695eafab9d0872deb281a7e62b423b0..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/executables/cartesian2DMesh/Make/options
+++ b/executables/cartesian2DMesh/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -8,5 +18,4 @@ EXE_INC = \
 EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/executables/cartesianMesh/Make/files b/executables/cartesianMesh/Make/files
index 18c4373d34528b8af5e41892dfb163f9d23c7d09..45b9f2e566ad5d7320cd3ed6872428aa4098b06f 100644
--- a/executables/cartesianMesh/Make/files
+++ b/executables/cartesianMesh/Make/files
@@ -1,3 +1,3 @@
 cartesianMesh.C
 
-EXE = $(FOAM_APPBIN)/cartesianMesh
+EXE = $(FOAM_MODULE_APPBIN)/cartesianMesh
diff --git a/executables/cartesianMesh/Make/options b/executables/cartesianMesh/Make/options
index cf583700c695eafab9d0872deb281a7e62b423b0..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/executables/cartesianMesh/Make/options
+++ b/executables/cartesianMesh/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -8,5 +18,4 @@ EXE_INC = \
 EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/executables/pMesh/Make/files b/executables/pMesh/Make/files
index ea506df68c45e4071407faa834898153cc1e714e..a8146a99cb3d7c8effc685c858f2091a1d7fc83b 100644
--- a/executables/pMesh/Make/files
+++ b/executables/pMesh/Make/files
@@ -1,3 +1,3 @@
 pMesh.C
 
-EXE = $(FOAM_APPBIN)/pMesh
+EXE = $(FOAM_MODULE_APPBIN)/pMesh
diff --git a/executables/pMesh/Make/options b/executables/pMesh/Make/options
index cf583700c695eafab9d0872deb281a7e62b423b0..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/executables/pMesh/Make/options
+++ b/executables/pMesh/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -8,5 +18,4 @@ EXE_INC = \
 EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/executables/tetMesh/Make/files b/executables/tetMesh/Make/files
index efa0679a8affd39e009a96de3f7896b07ca5b8eb..03a45adc546b2f109f280713d5de37ae6bcda733 100644
--- a/executables/tetMesh/Make/files
+++ b/executables/tetMesh/Make/files
@@ -1,3 +1,3 @@
 tetMesh.C
 
-EXE = $(FOAM_APPBIN)/tetMesh
+EXE = $(FOAM_MODULE_APPBIN)/tetMesh
diff --git a/executables/tetMesh/Make/options b/executables/tetMesh/Make/options
index cf583700c695eafab9d0872deb281a7e62b423b0..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/executables/tetMesh/Make/options
+++ b/executables/tetMesh/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -8,5 +18,4 @@ EXE_INC = \
 EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/meshLibrary/Make/files b/meshLibrary/Make/files
index e9754fa96e41ad321484286eaab140ac29a5d8da..bfa77d6f2b99fda34bce94902af68d3c49497165 100644
--- a/meshLibrary/Make/files
+++ b/meshLibrary/Make/files
@@ -465,4 +465,4 @@ $(writeAsFPMA)/fpmaMesh.C
 
 $(workflowControls)/workflowControls.C
 
-LIB = $(FOAM_LIBBIN)/libmeshLibrary
+LIB = $(FOAM_MODULE_LIBBIN)/libmeshLibrary
diff --git a/meshLibrary/Make/options b/meshLibrary/Make/options
index 26c06f00a1aa099e4e9649a78d804711572ad5d7..845c35fbe93cf7d9e725cda2153aa2bcaa185626 100644
--- a/meshLibrary/Make/options
+++ b/meshLibrary/Make/options
@@ -1,3 +1,10 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     $(COMP_OPENMP) \
     -I$(LIB_SRC)/fileFormats/lnInclude \
diff --git a/testingInterfaces/testAnisotropicMeshing/Make/options b/testingInterfaces/testAnisotropicMeshing/Make/options
index 33ed3ba68450b70e13dd0da9e1df4be61b08bdb6..cde98f7e5a1b06e9cb3070955d66be97280f4b17 100644
--- a/testingInterfaces/testAnisotropicMeshing/Make/options
+++ b/testingInterfaces/testAnisotropicMeshing/Make/options
@@ -1,3 +1,9 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -5,6 +11,5 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -L$(FOAM_USER_LIBBIN) \
-    -lmeshLibrary \
-    -lmeshTools
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/testingInterfaces/testBndLayerRefinement/Make/options b/testingInterfaces/testBndLayerRefinement/Make/options
index 33ed3ba68450b70e13dd0da9e1df4be61b08bdb6..cde98f7e5a1b06e9cb3070955d66be97280f4b17 100644
--- a/testingInterfaces/testBndLayerRefinement/Make/options
+++ b/testingInterfaces/testBndLayerRefinement/Make/options
@@ -1,3 +1,9 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -5,6 +11,5 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -L$(FOAM_USER_LIBBIN) \
-    -lmeshLibrary \
-    -lmeshTools
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/testingInterfaces/testBndLayerSmoothing/Make/options b/testingInterfaces/testBndLayerSmoothing/Make/options
index 33ed3ba68450b70e13dd0da9e1df4be61b08bdb6..cde98f7e5a1b06e9cb3070955d66be97280f4b17 100644
--- a/testingInterfaces/testBndLayerSmoothing/Make/options
+++ b/testingInterfaces/testBndLayerSmoothing/Make/options
@@ -1,3 +1,9 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -5,6 +11,5 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -L$(FOAM_USER_LIBBIN) \
-    -lmeshLibrary \
-    -lmeshTools
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/testingInterfaces/testDynList/Make/options b/testingInterfaces/testDynList/Make/options
index 3dd0d76bd3d566099c5cc78edcc98be9f863b3ce..803525cd231f5e06ed687288e1eb0bff587b2bae 100644
--- a/testingInterfaces/testDynList/Make/options
+++ b/testingInterfaces/testDynList/Make/options
@@ -1,10 +1,16 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
+    -g -ggdb -DFULLDEBUG -O0 \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -L$(FOAM_USER_LIBBIN) -g -ggdb -DFULLDEBUG -O0 \
-    -lmeshLibrary \
-    -lmeshTools
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/testingInterfaces/testEdgeExtractorFUN/Make/options b/testingInterfaces/testEdgeExtractorFUN/Make/options
index 33ed3ba68450b70e13dd0da9e1df4be61b08bdb6..cde98f7e5a1b06e9cb3070955d66be97280f4b17 100644
--- a/testingInterfaces/testEdgeExtractorFUN/Make/options
+++ b/testingInterfaces/testEdgeExtractorFUN/Make/options
@@ -1,3 +1,9 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -5,6 +11,5 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -L$(FOAM_USER_LIBBIN) \
-    -lmeshLibrary \
-    -lmeshTools
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/FLMAToSurface/Make/files b/utilities/FLMAToSurface/Make/files
index 69610873cf4f7a758fcda45bb064e5967d4e3a27..97d5b1e3e78bb67d938a41ffbaf95364f6df0e6a 100644
--- a/utilities/FLMAToSurface/Make/files
+++ b/utilities/FLMAToSurface/Make/files
@@ -1,3 +1,3 @@
 FLMAToSurface.C
 
-EXE = $(FOAM_APPBIN)/FLMAToSurface
+EXE = $(FOAM_MODULE_APPBIN)/FLMAToSurface
diff --git a/utilities/FLMAToSurface/Make/options b/utilities/FLMAToSurface/Make/options
index 3efeacba696c2f41a8f8de37771cdecfd6c051c8..cb0e81a1dc85f56e646c7ad00dd78dde5cca20de 100644
--- a/utilities/FLMAToSurface/Make/options
+++ b/utilities/FLMAToSurface/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -9,5 +19,4 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lsurfMesh \
     -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/FMSToSurface/Make/files b/utilities/FMSToSurface/Make/files
index a071c03cc5a962e94b51fe50bca9a484ff0c8904..8cc84c964d7189c57807c64098de5b1310656eab 100644
--- a/utilities/FMSToSurface/Make/files
+++ b/utilities/FMSToSurface/Make/files
@@ -1,3 +1,3 @@
 FMSToSurface.C
 
-EXE = $(FOAM_APPBIN)/FMSToSurface
+EXE = $(FOAM_MODULE_APPBIN)/FMSToSurface
diff --git a/utilities/FMSToSurface/Make/options b/utilities/FMSToSurface/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/FMSToSurface/Make/options
+++ b/utilities/FMSToSurface/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/FMSToVTK/Make/files b/utilities/FMSToVTK/Make/files
index 2d6b1e66f43ac6aedd9514b048d9466bf808017e..82a218b33a05b79b5a02ab67c7d4bc1e0fcf7189 100644
--- a/utilities/FMSToVTK/Make/files
+++ b/utilities/FMSToVTK/Make/files
@@ -1,3 +1,3 @@
 FMSToVTK.C
 
-EXE = $(FOAM_APPBIN)/FMSToVTK
+EXE = $(FOAM_MODULE_APPBIN)/FMSToVTK
diff --git a/utilities/FMSToVTK/Make/options b/utilities/FMSToVTK/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/FMSToVTK/Make/options
+++ b/utilities/FMSToVTK/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/checkSurfaceMesh/Make/files b/utilities/checkSurfaceMesh/Make/files
index 5324dad0e37f8e951b0ad724cde3823c2b25bebb..f66dff9feefe1953e737140c4da12fa5fa7aae34 100644
--- a/utilities/checkSurfaceMesh/Make/files
+++ b/utilities/checkSurfaceMesh/Make/files
@@ -1,3 +1,3 @@
 checkSurfaceMesh.C
 
-EXE = $(FOAM_APPBIN)/checkSurfaceMesh
+EXE = $(FOAM_MODULE_APPBIN)/checkSurfaceMesh
diff --git a/utilities/checkSurfaceMesh/Make/options b/utilities/checkSurfaceMesh/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/checkSurfaceMesh/Make/options
+++ b/utilities/checkSurfaceMesh/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/copySurfaceParts/Make/files b/utilities/copySurfaceParts/Make/files
index e01aca48ad9233ac5b2a145f3046c62d487406bc..f8e3558ff3b1f0de59b61011d6d6fce93963a027 100644
--- a/utilities/copySurfaceParts/Make/files
+++ b/utilities/copySurfaceParts/Make/files
@@ -1,3 +1,3 @@
 copySurfaceParts.C
 
-EXE = $(FOAM_APPBIN)/copySurfaceParts
+EXE = $(FOAM_MODULE_APPBIN)/copySurfaceParts
diff --git a/utilities/copySurfaceParts/Make/options b/utilities/copySurfaceParts/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/copySurfaceParts/Make/options
+++ b/utilities/copySurfaceParts/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/extrudeEdgesInto2DSurface/Make/files b/utilities/extrudeEdgesInto2DSurface/Make/files
index b1d3d212a5034bdb4821ac428acfab273dfec3da..9a4fc24d2fdc16d4ce105b4893d31ae73af24735 100644
--- a/utilities/extrudeEdgesInto2DSurface/Make/files
+++ b/utilities/extrudeEdgesInto2DSurface/Make/files
@@ -1,3 +1,3 @@
 extrudeEdgesInto2DSurface.C
 
-EXE = $(FOAM_APPBIN)/extrudeEdgesInto2DSurface
+EXE = $(FOAM_MODULE_APPBIN)/extrudeEdgesInto2DSurface
diff --git a/utilities/extrudeEdgesInto2DSurface/Make/options b/utilities/extrudeEdgesInto2DSurface/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/extrudeEdgesInto2DSurface/Make/options
+++ b/utilities/extrudeEdgesInto2DSurface/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/generateBoundaryLayers/Make/files b/utilities/generateBoundaryLayers/Make/files
index dfcf7bde141c2e0af3596b7afcf7ff8a25e3ad10..0ce68f2abe68bfaff964e895492674279a4e8685 100644
--- a/utilities/generateBoundaryLayers/Make/files
+++ b/utilities/generateBoundaryLayers/Make/files
@@ -1,3 +1,3 @@
 generateBoundaryLayers.C
 
-EXE = $(FOAM_APPBIN)/generateBoundaryLayers
+EXE = $(FOAM_MODULE_APPBIN)/generateBoundaryLayers
diff --git a/utilities/generateBoundaryLayers/Make/options b/utilities/generateBoundaryLayers/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/generateBoundaryLayers/Make/options
+++ b/utilities/generateBoundaryLayers/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/importSurfaceAsSubset/Make/files b/utilities/importSurfaceAsSubset/Make/files
index ce149fee6b9db49c1239d9a03d1071b122d4c365..af924d0b48259e307f1553a196a0ece59cbd41cd 100644
--- a/utilities/importSurfaceAsSubset/Make/files
+++ b/utilities/importSurfaceAsSubset/Make/files
@@ -1,3 +1,3 @@
 importSurfaceAsSubset.C
 
-EXE = $(FOAM_APPBIN)/importSurfaceAsSubset
+EXE = $(FOAM_MODULE_APPBIN)/importSurfaceAsSubset
diff --git a/utilities/importSurfaceAsSubset/Make/options b/utilities/importSurfaceAsSubset/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/importSurfaceAsSubset/Make/options
+++ b/utilities/importSurfaceAsSubset/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/improveMeshQuality/Make/files b/utilities/improveMeshQuality/Make/files
index cb1e702ab5da60118889f39fc602174df24b338e..a3e746700c496522ac88d6ffa4ae392e79f164ae 100644
--- a/utilities/improveMeshQuality/Make/files
+++ b/utilities/improveMeshQuality/Make/files
@@ -1,3 +1,3 @@
 improveMeshQuality.C
 
-EXE = $(FOAM_APPBIN)/improveMeshQuality
+EXE = $(FOAM_MODULE_APPBIN)/improveMeshQuality
diff --git a/utilities/improveMeshQuality/Make/options b/utilities/improveMeshQuality/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/improveMeshQuality/Make/options
+++ b/utilities/improveMeshQuality/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/improveSymmetryPlanes/Make/files b/utilities/improveSymmetryPlanes/Make/files
index 6d1e0c76f5ca72d63a46a865f0e98acde4a10c28..2c884e020204dcd06463892082a53f17abd9c7cf 100644
--- a/utilities/improveSymmetryPlanes/Make/files
+++ b/utilities/improveSymmetryPlanes/Make/files
@@ -1,3 +1,3 @@
 improveSymmetryPlanes.C
 
-EXE = $(FOAM_APPBIN)/improveSymmetryPlanes
+EXE = $(FOAM_MODULE_APPBIN)/improveSymmetryPlanes
diff --git a/utilities/improveSymmetryPlanes/Make/options b/utilities/improveSymmetryPlanes/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/improveSymmetryPlanes/Make/options
+++ b/utilities/improveSymmetryPlanes/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/mergeSurfacePatches/Make/files b/utilities/mergeSurfacePatches/Make/files
index 2d1da75fb1aa4f15b9a0cb37db557baaf2f1f106..36006ae16ec9c93a25539e0d407602312d446785 100644
--- a/utilities/mergeSurfacePatches/Make/files
+++ b/utilities/mergeSurfacePatches/Make/files
@@ -1,3 +1,3 @@
 mergeSurfacePatches.C
 
-EXE = $(FOAM_APPBIN)/mergeSurfacePatches
+EXE = $(FOAM_MODULE_APPBIN)/mergeSurfacePatches
diff --git a/utilities/mergeSurfacePatches/Make/options b/utilities/mergeSurfacePatches/Make/options
index 3efeacba696c2f41a8f8de37771cdecfd6c051c8..cb0e81a1dc85f56e646c7ad00dd78dde5cca20de 100644
--- a/utilities/mergeSurfacePatches/Make/options
+++ b/utilities/mergeSurfacePatches/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -9,5 +19,4 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lsurfMesh \
     -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/meshToFPMA/Make/files b/utilities/meshToFPMA/Make/files
index 912d0c2ffbdf45ceca70fc46c18b38d640ddf8e6..01c9d58803d647d765755036c391686356bebff3 100644
--- a/utilities/meshToFPMA/Make/files
+++ b/utilities/meshToFPMA/Make/files
@@ -1,3 +1,3 @@
 meshToFPMA.C
 
-EXE = $(FOAM_APPBIN)/meshToFPMA
+EXE = $(FOAM_MODULE_APPBIN)/meshToFPMA
diff --git a/utilities/meshToFPMA/Make/options b/utilities/meshToFPMA/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/meshToFPMA/Make/options
+++ b/utilities/meshToFPMA/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/patchesToSubsets/Make/files b/utilities/patchesToSubsets/Make/files
index 4194fdd6cb10d242e37054b4517bfa452dab5578..ab98f7100aa42615865a5ac08458ee05bf12aa2b 100644
--- a/utilities/patchesToSubsets/Make/files
+++ b/utilities/patchesToSubsets/Make/files
@@ -1,3 +1,3 @@
 patchesToSubsets.C
 
-EXE = $(FOAM_APPBIN)/patchesToSubsets
+EXE = $(FOAM_MODULE_APPBIN)/patchesToSubsets
diff --git a/utilities/patchesToSubsets/Make/options b/utilities/patchesToSubsets/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/patchesToSubsets/Make/options
+++ b/utilities/patchesToSubsets/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/preparePar/Make/files b/utilities/preparePar/Make/files
index 8ab687e405315410159c94dbb0c50c20c3bcccf8..6ac752184a0668b32094fcccbeab09ab1bab3757 100644
--- a/utilities/preparePar/Make/files
+++ b/utilities/preparePar/Make/files
@@ -1,3 +1,3 @@
 preparePar.C
 
-EXE = $(FOAM_APPBIN)/preparePar
+EXE = $(FOAM_MODULE_APPBIN)/preparePar
diff --git a/utilities/preparePar/Make/options b/utilities/preparePar/Make/options
index 7b2d3858f03133a0b675e1a2fd3935610e5b8d1c..5b778bf7579bbd01ab8371cd8c9b7776c5ab2e8a 100644
--- a/utilities/preparePar/Make/options
+++ b/utilities/preparePar/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/parallel/decompose/decompose/lnInclude \
     -I$(LIB_SRC)/parallel/decompose/decompositionMethods/lnInclude
diff --git a/utilities/removeSurfaceFacets/Make/files b/utilities/removeSurfaceFacets/Make/files
index 65f8c7e4c7c414b7ffe69e7e4845b1b31559920d..111009b10a66ad2b3fe431d54f6dbc2f8b1c603c 100644
--- a/utilities/removeSurfaceFacets/Make/files
+++ b/utilities/removeSurfaceFacets/Make/files
@@ -1,3 +1,3 @@
 removeSurfaceFacets.C
 
-EXE = $(FOAM_APPBIN)/removeSurfaceFacets
+EXE = $(FOAM_MODULE_APPBIN)/removeSurfaceFacets
diff --git a/utilities/removeSurfaceFacets/Make/options b/utilities/removeSurfaceFacets/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/removeSurfaceFacets/Make/options
+++ b/utilities/removeSurfaceFacets/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/scaleMesh/Make/files b/utilities/scaleMesh/Make/files
index 4c038046a05e5bd90d508901107e1aa2fbd0df4e..f0312728479c358987cf7e5ba005f4077fc0ab01 100644
--- a/utilities/scaleMesh/Make/files
+++ b/utilities/scaleMesh/Make/files
@@ -1,3 +1,3 @@
 scaleMesh.C
 
-EXE = $(FOAM_APPBIN)/scaleMesh
+EXE = $(FOAM_MODULE_APPBIN)/scaleMesh
diff --git a/utilities/scaleMesh/Make/options b/utilities/scaleMesh/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/scaleMesh/Make/options
+++ b/utilities/scaleMesh/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/scaleSurfaceMesh/Make/files b/utilities/scaleSurfaceMesh/Make/files
index 022949ec7565fda3f45015ec898d3d29ad3681fe..08f6d1e76acbbe0c38ed8c574392b31219e23451 100644
--- a/utilities/scaleSurfaceMesh/Make/files
+++ b/utilities/scaleSurfaceMesh/Make/files
@@ -1,3 +1,3 @@
 scaleSurfaceMesh.C
 
-EXE = $(FOAM_APPBIN)/scaleSurfaceMesh
+EXE = $(FOAM_MODULE_APPBIN)/scaleSurfaceMesh
diff --git a/utilities/scaleSurfaceMesh/Make/options b/utilities/scaleSurfaceMesh/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/scaleSurfaceMesh/Make/options
+++ b/utilities/scaleSurfaceMesh/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/subsetToPatch/Make/files b/utilities/subsetToPatch/Make/files
index 77ce9c7d7ddf2d2e1d43f6608b25eaa9809e4458..596b04bed83a3abf0ace89632237a614ad0ad880 100644
--- a/utilities/subsetToPatch/Make/files
+++ b/utilities/subsetToPatch/Make/files
@@ -1,3 +1,3 @@
 subsetToPatch.C
 
-EXE = $(FOAM_APPBIN)/subsetToPatch
+EXE = $(FOAM_MODULE_APPBIN)/subsetToPatch
diff --git a/utilities/subsetToPatch/Make/options b/utilities/subsetToPatch/Make/options
index 3efeacba696c2f41a8f8de37771cdecfd6c051c8..cb0e81a1dc85f56e646c7ad00dd78dde5cca20de 100644
--- a/utilities/subsetToPatch/Make/options
+++ b/utilities/subsetToPatch/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -9,5 +19,4 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lsurfMesh \
     -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/surfaceFeatureEdges/Make/files b/utilities/surfaceFeatureEdges/Make/files
index 7f68cb501fc628dd97c008df4e604f65302f73d7..94061afd0f27a1450699793b23f0f20f80a261d2 100644
--- a/utilities/surfaceFeatureEdges/Make/files
+++ b/utilities/surfaceFeatureEdges/Make/files
@@ -1,3 +1,3 @@
 surfaceFeatureEdges.C
 
-EXE = $(FOAM_APPBIN)/surfaceFeatureEdges
+EXE = $(FOAM_MODULE_APPBIN)/surfaceFeatureEdges
diff --git a/utilities/surfaceFeatureEdges/Make/options b/utilities/surfaceFeatureEdges/Make/options
index 267dbcc3c09eaa89d3f043f5d5fdd4f53433ab43..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/surfaceFeatureEdges/Make/options
+++ b/utilities/surfaceFeatureEdges/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -6,6 +16,6 @@ EXE_INC = \
     -I../../meshLibrary/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -lfiniteVolume \
+    -lmeshTools \
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/surfaceGenerateBoundingBox/Make/files b/utilities/surfaceGenerateBoundingBox/Make/files
index 0fe4e3c3b5cbd9b053c5e93fe1c9ed51a4e5e83f..4e47e02f7f021a952a618577ea781394cb93c28d 100644
--- a/utilities/surfaceGenerateBoundingBox/Make/files
+++ b/utilities/surfaceGenerateBoundingBox/Make/files
@@ -1,3 +1,3 @@
 surfaceGenerateBoundingBox.C
 
-EXE = $(FOAM_APPBIN)/surfaceGenerateBoundingBox
+EXE = $(FOAM_MODULE_APPBIN)/surfaceGenerateBoundingBox
diff --git a/utilities/surfaceGenerateBoundingBox/Make/options b/utilities/surfaceGenerateBoundingBox/Make/options
index 3efeacba696c2f41a8f8de37771cdecfd6c051c8..cb0e81a1dc85f56e646c7ad00dd78dde5cca20de 100644
--- a/utilities/surfaceGenerateBoundingBox/Make/options
+++ b/utilities/surfaceGenerateBoundingBox/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -9,5 +19,4 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lsurfMesh \
     -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary
diff --git a/utilities/surfaceToFMS/Make/files b/utilities/surfaceToFMS/Make/files
index 3d628554380648724886574eb32905937d7612ba..17d015cf206729e693d1a518dd4a835ed27f2f5d 100644
--- a/utilities/surfaceToFMS/Make/files
+++ b/utilities/surfaceToFMS/Make/files
@@ -1,3 +1,3 @@
 surfaceToFMS.C
 
-EXE = $(FOAM_APPBIN)/surfaceToFMS
+EXE = $(FOAM_MODULE_APPBIN)/surfaceToFMS
diff --git a/utilities/surfaceToFMS/Make/options b/utilities/surfaceToFMS/Make/options
index cf583700c695eafab9d0872deb281a7e62b423b0..0a5a75378542688c8bb73e54a6f9890f20327731 100644
--- a/utilities/surfaceToFMS/Make/options
+++ b/utilities/surfaceToFMS/Make/options
@@ -1,3 +1,13 @@
+sinclude $(GENERAL_RULES)/module-path-user
+
+/* Failsafe - user location */
+ifeq (,$(strip $(FOAM_MODULE_APPBIN)))
+    FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN)
+endif
+ifeq (,$(strip $(FOAM_MODULE_LIBBIN)))
+    FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN)
+endif
+
 EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
@@ -8,5 +18,4 @@ EXE_INC = \
 EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
-    -L$(FOAM_LIBBIN) \
-    -lmeshLibrary
+    -L$(FOAM_MODULE_LIBBIN) -lmeshLibrary