diff --git a/wmake/wrmo b/wmake/wrmo
index 3a207695afe57ecc09795820f6898214ea286fa8..177587aef5765dfe192c86c2a82affe8bad51543 100755
--- a/wmake/wrmo
+++ b/wmake/wrmo
@@ -23,12 +23,13 @@
 #     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 #
 # Script
-#     wrmo [file]
+#     wrmo [-a | -all | all] [file]
 #
 # Description
 #     Remove all .o files from the object directory tree corresponding to the
 #     current source derectory or remove only the .o file corresponding to the
-#     optionally specified [file].
+#     optionally specified [file].  With the -a/-all/all option the .o files
+#     are removed for all platforms rather than just the current platform.
 #
 #------------------------------------------------------------------------------
 Script=${0##*/}
@@ -53,12 +54,20 @@ USAGE
 # Parse arguments and options
 #------------------------------------------------------------------------------
 
+# Default to processing only the current platform
+all=
+
 while [ "$#" -gt 0 ]
 do
     case "$1" in
     -h | -help)
         usage
         ;;
+    # Non-stop compilation, ignoring errors
+    -a | -all | all)
+        all="all"
+        shift
+        ;;
     -*)
        usage "unknown option: '$*'"
        ;;
@@ -78,6 +87,12 @@ checkEnv
 
 findObjectDir .
 
+# With the -a/-all option replace the current platform with a wildcard
+if [ "$all" = "all" ]
+then
+    objectsDir=$(echo $objectsDir | sed s%$WM_OPTIONS%*% )
+fi
+
 if [ "$#" -eq 0 ]
 then
     echo "removing all .o files ..."