From 7e9adc7b31cda4b8cd476d14435f96873d884236 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@Germany>
Date: Tue, 1 Jun 2010 09:23:47 +0200
Subject: [PATCH] ENH: add wmakeFindEmptyMake, -help option for
 wmakeFilesAndOptions

wmakeFindEmptyMake:
- Find 'Make/' directories without 'files' or 'options'.
  These typically correspond to (partially) removed applications.
---
 wmake/wmakeFilesAndOptions | 35 ++++++++++++++-
 wmake/wmakeFindEmptyMake   | 87 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 121 insertions(+), 1 deletion(-)
 create mode 100755 wmake/wmakeFindEmptyMake

diff --git a/wmake/wmakeFilesAndOptions b/wmake/wmakeFilesAndOptions
index 61984eea074..d2e8cf29c22 100755
--- a/wmake/wmakeFilesAndOptions
+++ b/wmake/wmakeFilesAndOptions
@@ -26,7 +26,7 @@
 #     wmakeFilesAndOptions
 #
 # Description
-#     Script to scan the current directory for directories and source files
+#     Scan current directory for directories and source files
 #     and construct Make/files and Make/options
 #
 #     Usage : wmakeFilesAndOptions
@@ -34,6 +34,39 @@
 #------------------------------------------------------------------------------
 Script=${0##*/}
 
+usage() {
+    while [ "$#" -ge 1 ]; do echo "$1"; shift; done
+    cat<<USAGE
+
+usage: ${0##*/}
+
+    Scan current directory for directories and source files
+    and construct 'Make/files' and 'Make/options'
+
+USAGE
+    exit 1
+}
+
+
+# simple parse options
+while [ "$#" -gt 0 ]
+do
+    case "$1" in
+    -h | -help)   # provide immediate help
+        usage
+        ;;
+    -*)
+        usage "unknown option: '$*'"
+        ;;
+    *)
+        break
+        ;;
+    esac
+done
+
+# no arguments
+[ "$#" -eq 0 ] || usage "unexpected arguments: '$*'"
+
 #
 # check environment variables
 #
diff --git a/wmake/wmakeFindEmptyMake b/wmake/wmakeFindEmptyMake
new file mode 100755
index 00000000000..d6edb387d8c
--- /dev/null
+++ b/wmake/wmakeFindEmptyMake
@@ -0,0 +1,87 @@
+#!/bin/sh
+#------------------------------------------------------------------------------
+# =========                 |
+# \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+#  \\    /   O peration     |
+#   \\  /    A nd           | Copyright (C) 2010-2010 OpenCFD Ltd.
+#    \\/     M anipulation  |
+#-------------------------------------------------------------------------------
+# License
+#     This file is part of OpenFOAM.
+#
+#     OpenFOAM is free software: you can redistribute it and/or modify it
+#     under the terms of the GNU General Public License as published by
+#     the Free Software Foundation, either version 3 of the License, or
+#     (at your option) any later version.
+#
+#     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+#     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+#     for more details.
+#
+#     You should have received a copy of the GNU General Public License
+#     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Script
+#     wmakeFindEmptyMake
+#
+# Description
+#     Find 'Make/' directories without 'files' or 'options'.
+#     These typically correspond to (partially) removed applications.
+#
+#------------------------------------------------------------------------------
+usage() {
+    while [ "$#" -ge 1 ]; do echo "$1"; shift; done
+    cat<<USAGE
+
+usage: ${0##*/} [dir1 .. dirN]
+
+    Find 'Make/' directories without 'files' or 'options'.
+    These typically correspond to (partially) removed applications.
+
+USAGE
+    exit 1
+}
+
+#------------------------------------------------------------------------------
+findName=lnInclude
+
+# simple parse options
+while [ "$#" -gt 0 ]
+do
+    case "$1" in
+    -h | -help)   # provide immediate help
+        usage
+        ;;
+    -*)
+        usage "unknown option: '$*'"
+        ;;
+    *)
+        break
+        ;;
+    esac
+done
+
+
+# default to searching from pwd
+[ "$#" -gt 0 ] || set -- .
+
+for checkDir
+do
+    if [ -d $checkDir ]
+    then
+        echo "searching: $checkDir for 'Make' directories without 'files' or 'options'" 1>&2
+        echo "---------" 1>&2
+    else
+        echo "skipping non-dir: $checkDir" 1>&2
+        echo "----------------" 1>&2
+        continue
+    fi
+
+    find $checkDir -depth -type d -name Make -print | while read MakeDir
+    do
+        [ -f "$MakeDir/files" -o -f "$MakeDir/options" ] || echo $MakeDir
+    done
+done
+
+#------------------------------------------------------------------------------
-- 
GitLab