From e211ff7dab0c7dc2c7e9087fdcfdc48e18993b8f Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@Germany>
Date: Sun, 2 Aug 2009 12:43:24 +0200
Subject: [PATCH] consistency update: foamNew, foamNewSource, foamNewTemplate

- simplified the logic
- provide direct link to the respective scripts
- provide help from the respective scripts
---
 bin/foamNew                                   | 15 ++--
 bin/foamNewSource                             |  1 +
 bin/foamNewTemplate                           |  1 +
 .../foamCommentStyles                         |  0
 bin/{foamTemplates => templates}/foamScript   |  0
 .../source/_Template.C}                       | 20 ++---
 .../source/_Template.H}                       | 46 ++++++------
 .../source/_TemplateApp.C}                    |  2 +-
 .../source/_TemplateI.H}                      |  0
 .../source/_TemplateIO.C}                     | 14 ++--
 .../source/foamNewSource}                     | 73 ++++++++++---------
 .../sourceTemplate/_TemplateTemplate.C}       | 32 ++++----
 .../sourceTemplate/_TemplateTemplate.H}       | 48 ++++++------
 .../sourceTemplate/_TemplateTemplateI.H}      |  0
 .../sourceTemplate/_TemplateTemplateIO.C}     | 14 ++--
 .../sourceTemplate/foamNewTemplate}           | 63 ++++++++--------
 wmake/Makefile                                |  4 +-
 wmake/MakefileApps                            |  4 +-
 wmake/MakefileFiles                           |  8 +-
 wmake/MakefileOptions                         |  8 +-
 wmake/wmakeFilesAndOptions                    |  4 +-
 21 files changed, 181 insertions(+), 176 deletions(-)
 create mode 120000 bin/foamNewSource
 create mode 120000 bin/foamNewTemplate
 rename bin/{foamTemplates => templates}/foamCommentStyles (100%)
 rename bin/{foamTemplates => templates}/foamScript (100%)
 rename bin/{foamTemplates/source/foamTemplate.C => templates/source/_Template.C} (84%)
 rename bin/{foamTemplates/source/foamTemplate.H => templates/source/_Template.H} (79%)
 rename bin/{foamTemplates/source/foamAppTemplate.C => templates/source/_TemplateApp.C} (99%)
 rename bin/{foamTemplates/source/foamTemplateI.H => templates/source/_TemplateI.H} (100%)
 rename bin/{foamTemplates/source/foamTemplateIO.C => templates/source/_TemplateIO.C} (83%)
 rename bin/{foamTemplates/source/newSource => templates/source/foamNewSource} (69%)
 rename bin/{foamTemplates/sourceTemplate/foamTemplateTemplate.C => templates/sourceTemplate/_TemplateTemplate.C} (78%)
 rename bin/{foamTemplates/sourceTemplate/foamTemplateTemplate.H => templates/sourceTemplate/_TemplateTemplate.H} (77%)
 rename bin/{foamTemplates/sourceTemplate/foamTemplateTemplateI.H => templates/sourceTemplate/_TemplateTemplateI.H} (100%)
 rename bin/{foamTemplates/sourceTemplate/foamTemplateTemplateIO.C => templates/sourceTemplate/_TemplateTemplateIO.C} (85%)
 rename bin/{foamTemplates/sourceTemplate/newSourceTemplate => templates/sourceTemplate/foamNewTemplate} (74%)

diff --git a/bin/foamNew b/bin/foamNew
index 6ef67f73875..d1b31693b9f 100755
--- a/bin/foamNew
+++ b/bin/foamNew
@@ -33,7 +33,6 @@
 usage() {
     while [ "$#" -ge 1 ]; do echo "$1"; shift; done
     cat<<USAGE
-
 usage: ${0##*/} <type> {args}
 
 * create a new standard OpenFOAM source or template file
@@ -44,22 +43,18 @@ USAGE
     exit 1
 }
 
-if [ "$#" -lt 2 ]
-then
-    usage "wrong number of arguments, expected 2 (or more)"
-fi
+
+# this implicitly covers a lone -help, but let other scripts handle the rest
+[ "$#" -gt 1 ] || usage
 
 case "$1" in
--h | -help)
-    usage
-    ;;
 source)
     shift
-    $WM_PROJECT_DIR/bin/foamTemplates/source/newSource $*
+    $WM_PROJECT_DIR/bin/templates/source/foamNewSource $*
     ;;
 template)
     shift
-    $WM_PROJECT_DIR/bin/foamTemplates/sourceTemplate/newSourceTemplate $*
+    $WM_PROJECT_DIR/bin/templates/sourceTemplate/foamNewTemplate $*
     ;;
 *)
     usage "unknown type"
diff --git a/bin/foamNewSource b/bin/foamNewSource
new file mode 120000
index 00000000000..1195efa3f39
--- /dev/null
+++ b/bin/foamNewSource
@@ -0,0 +1 @@
+templates/source/foamNewSource
\ No newline at end of file
diff --git a/bin/foamNewTemplate b/bin/foamNewTemplate
new file mode 120000
index 00000000000..daefeb49292
--- /dev/null
+++ b/bin/foamNewTemplate
@@ -0,0 +1 @@
+templates/sourceTemplate/foamNewTemplate
\ No newline at end of file
diff --git a/bin/foamTemplates/foamCommentStyles b/bin/templates/foamCommentStyles
similarity index 100%
rename from bin/foamTemplates/foamCommentStyles
rename to bin/templates/foamCommentStyles
diff --git a/bin/foamTemplates/foamScript b/bin/templates/foamScript
similarity index 100%
rename from bin/foamTemplates/foamScript
rename to bin/templates/foamScript
diff --git a/bin/foamTemplates/source/foamTemplate.C b/bin/templates/source/_Template.C
similarity index 84%
rename from bin/foamTemplates/source/foamTemplate.C
rename to bin/templates/source/_Template.C
index 1f86ef69f87..a45d3ff6ac4 100644
--- a/bin/foamTemplates/source/foamTemplate.C
+++ b/bin/templates/source/_Template.C
@@ -24,11 +24,11 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "className.H"
+#include "CLASSNAME.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
-const dataType Foam::className::staticData();
+const dataType Foam::CLASSNAME::staticData();
 
 
 // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
@@ -42,21 +42,21 @@ const dataType Foam::className::staticData();
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::className::className()
+Foam::CLASSNAME::CLASSNAME()
 :
     baseClassName(),
     data_()
 {}
 
 
-Foam::className::className(const dataType& data)
+Foam::CLASSNAME::CLASSNAME(const dataType& data)
 :
     baseClassName(),
     data_(data)
 {}
 
 
-Foam::className::className(const className&)
+Foam::CLASSNAME::CLASSNAME(const CLASSNAME&)
 :
     baseClassName(),
     data_()
@@ -65,15 +65,15 @@ Foam::className::className(const className&)
 
 // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
 
-Foam::autoPtr<Foam::className> Foam::className::New()
+Foam::autoPtr<Foam::CLASSNAME> Foam::CLASSNAME::New()
 {
-    return autoPtr<className>(new className);
+    return autoPtr<CLASSNAME>(new CLASSNAME);
 }
 
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-Foam::className::~className()
+Foam::CLASSNAME::~CLASSNAME()
 {}
 
 
@@ -82,12 +82,12 @@ Foam::className::~className()
 
 // * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * * //
 
-void Foam::className::operator=(const className& rhs)
+void Foam::CLASSNAME::operator=(const CLASSNAME& rhs)
 {
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn("Foam::className::operator=(const Foam::className&)")
+        FatalErrorIn("Foam::CLASSNAME::operator=(const Foam::CLASSNAME&)")
             << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/bin/foamTemplates/source/foamTemplate.H b/bin/templates/source/_Template.H
similarity index 79%
rename from bin/foamTemplates/source/foamTemplate.H
rename to bin/templates/source/_Template.H
index e0b6cf21577..b86edcbde91 100644
--- a/bin/foamTemplates/source/foamTemplate.H
+++ b/bin/templates/source/_Template.H
@@ -23,19 +23,19 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Class
-    Foam::className
+    Foam::CLASSNAME
 
 Description
 
 SourceFiles
-    classNameI.H
-    className.C
-    classNameIO.C
+    CLASSNAMEI.H
+    CLASSNAME.C
+    CLASSNAMEIO.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef className_H
-#define className_H
+#ifndef CLASSNAME_H
+#define CLASSNAME_H
 
 #include ".H"
 
@@ -49,16 +49,16 @@ class Istream;
 class Ostream;
 
 // Forward declaration of friend functions and operators
-class className;
-Istream& operator>>(Istream&, className&);
-Ostream& operator<<(Ostream&, const className&);
+class CLASSNAME;
+Istream& operator>>(Istream&, CLASSNAME&);
+Ostream& operator<<(Ostream&, const CLASSNAME&);
 
 
 /*---------------------------------------------------------------------------*\
-                          Class className Declaration
+                         Class CLASSNAME Declaration
 \*---------------------------------------------------------------------------*/
 
-class className
+class CLASSNAME
 :
     public baseClassName
 {
@@ -71,10 +71,10 @@ class className
     // Private Member Functions
 
         //- Disallow default bitwise copy construct
-        className(const className&);
+        CLASSNAME(const CLASSNAME&);
 
         //- Disallow default bitwise assignment
-        void operator=(const className&);
+        void operator=(const CLASSNAME&);
 
 
 public:
@@ -88,26 +88,26 @@ public:
     // Constructors
 
         //- Construct null
-        className();
+        CLASSNAME();
 
         //- Construct from components
-        className(const dataType& data);
+        CLASSNAME(const dataType& data);
 
         //- Construct from Istream
-        className(Istream&);
+        CLASSNAME(Istream&);
 
         //- Construct as copy
-        className(const className&);
+        CLASSNAME(const CLASSNAME&);
 
 
     // Selectors
 
         //- Select null constructed
-        static autoPtr<className> New();
+        static autoPtr<CLASSNAME> New();
 
 
     //- Destructor
-    ~className();
+    ~CLASSNAME();
 
 
     // Member Functions
@@ -123,7 +123,7 @@ public:
 
     // Member Operators
 
-        void operator=(const className&);
+        void operator=(const CLASSNAME&);
 
 
     // Friend Functions
@@ -132,8 +132,8 @@ public:
 
     // IOstream Operators
 
-        friend Istream& operator>>(Istream&, className&);
-        friend Ostream& operator<<(Ostream&, const className&);
+        friend Istream& operator>>(Istream&, CLASSNAME&);
+        friend Ostream& operator<<(Ostream&, const CLASSNAME&);
 };
 
 
@@ -143,7 +143,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-#include "classNameI.H"
+#include "CLASSNAMEI.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/bin/foamTemplates/source/foamAppTemplate.C b/bin/templates/source/_TemplateApp.C
similarity index 99%
rename from bin/foamTemplates/source/foamAppTemplate.C
rename to bin/templates/source/_TemplateApp.C
index 46c089c1a86..7ce97539e6a 100644
--- a/bin/foamTemplates/source/foamAppTemplate.C
+++ b/bin/templates/source/_TemplateApp.C
@@ -23,7 +23,7 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Application
-    className
+    CLASSNAME
 
 Description
 
diff --git a/bin/foamTemplates/source/foamTemplateI.H b/bin/templates/source/_TemplateI.H
similarity index 100%
rename from bin/foamTemplates/source/foamTemplateI.H
rename to bin/templates/source/_TemplateI.H
diff --git a/bin/foamTemplates/source/foamTemplateIO.C b/bin/templates/source/_TemplateIO.C
similarity index 83%
rename from bin/foamTemplates/source/foamTemplateIO.C
rename to bin/templates/source/_TemplateIO.C
index d9119ed354a..c6d595100a2 100644
--- a/bin/foamTemplates/source/foamTemplateIO.C
+++ b/bin/templates/source/_TemplateIO.C
@@ -24,12 +24,12 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "className.H"
+#include "CLASSNAME.H"
 #include "IOstreams.H"
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::className::className(Istream& is)
+Foam::CLASSNAME::CLASSNAME(Istream& is)
 :
     base1(is),
     base2(is),
@@ -37,31 +37,31 @@ Foam::className::className(Istream& is)
     member2(is)
 {
     // Check state of Istream
-    is.check("Foam::className::className(Foam::Istream&)");
+    is.check("Foam::CLASSNAME::CLASSNAME(Foam::Istream&)");
 }
 
 
 // * * * * * * * * * * * * * * * IOstream Operators  * * * * * * * * * * * * //
 
-Foam::Istream& Foam::operator>>(Istream& is, className&)
+Foam::Istream& Foam::operator>>(Istream& is, CLASSNAME&)
 {
     // Check state of Istream
     is.check
     (
-        "Foam::Istream& Foam::operator>>(Foam::Istream&, Foam::className&)"
+        "Foam::Istream& Foam::operator>>(Foam::Istream&, Foam::CLASSNAME&)"
     );
 
     return is;
 }
 
 
-Foam::Ostream& Foam::operator<<(Ostream& os, const className&)
+Foam::Ostream& Foam::operator<<(Ostream& os, const CLASSNAME&)
 {
     // Check state of Ostream
     os.check
     (
         "Foam::Ostream& Foam::operator<<(Foam::Ostream&, "
-        "const Foam::className&)"
+        "const Foam::CLASSNAME&)"
     );
 
     return os;
diff --git a/bin/foamTemplates/source/newSource b/bin/templates/source/foamNewSource
similarity index 69%
rename from bin/foamTemplates/source/newSource
rename to bin/templates/source/foamNewSource
index 927ad36b31d..ec1ad7b2e1b 100755
--- a/bin/foamTemplates/source/newSource
+++ b/bin/templates/source/foamNewSource
@@ -24,18 +24,18 @@
 #     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 #
 # Script
-#     foamNew
+#     foamNewSource
 #
 # Description
 #     Create a new standard OpenFOAM source file
 #
 #------------------------------------------------------------------------------
 Script=${0##*/}
+Template="$WM_PROJECT_DIR/bin/templates/source/_Template"
 
 usage() {
     while [ "$#" -ge 1 ]; do echo "$1"; shift; done
     cat<<USAGE
-
 usage: $Script <type> <class name>
 
 * create a new standard OpenFOAM source file
@@ -46,49 +46,56 @@ USAGE
     exit 1
 }
 
-if [ "$#" -ne 2 ]; then
-   usage "wrong number of arguments, expected 2"
-fi
 
-unset suffix fileType
+# this implicitly covers a lone -help
+[ "$#" -gt 1 ] || usage
+
+className="$2"
+unset subType Type
+
 case "$1" in
+-h | -help)
+    usage
+    ;;
 C|H)
-   template=foamTemplate
-   fileType=$1
-   ;;
+    Type=".$1"
+    ;;
 I)
-   suffix=$1
-   template=foamTemplateI
-   fileType=H
-   ;;
+    Type="$1.H"
+    ;;
 IO)
-   suffix=$1
-   template=foamTemplateIO
-   fileType=C
-   ;;
+    Type="$1.C"
+    ;;
 app|App)
-   template=foamAppTemplate
-   fileType=C
-   if [ ! -d Make ]; then
-       echo "foamNew: Creating Make/files and Make/options"
-       wmakeFilesAndOptions
-   fi
-   ;;
+    subType=App
+    Type=".C"
+    ;;
 *)
-   usage "unknown type"
-   ;;
+    usage "unknown type"
+    ;;
 esac
+[ "$#" -eq 2 ] || usage "wrong number of arguments"
+shift 2
+
 
+fileName="$className$Type"
 
-fileName=$2$suffix.$fileType
 
-if [ -e "$fileName" ]; then
-   echo "Cannot make $fileName, file exists"
-   exit 1
+echo "$Script: Creating new interface file $fileName"
+if [ -e "$fileName" ]
+then
+    echo "   Error: file exists"
+    exit 1
 fi
 
-echo $Script: Creating new interface file $fileName
-sed s/className/$2/g \
-    $WM_PROJECT_DIR/bin/foamTemplates/source/$template.$fileType > $fileName
+
+# process class name
+sed "s/CLASSNAME/$className/g" $Template$subType$Type > $fileName
+
+
+if [ "$subType" = App -a ! -d Make ]
+then
+    wmakeFilesAndOptions
+fi
 
 #------------------------------------------------------------------------------
diff --git a/bin/foamTemplates/sourceTemplate/foamTemplateTemplate.C b/bin/templates/sourceTemplate/_TemplateTemplate.C
similarity index 78%
rename from bin/foamTemplates/sourceTemplate/foamTemplateTemplate.C
rename to bin/templates/sourceTemplate/_TemplateTemplate.C
index 5acafb25e79..c73d5043a12 100644
--- a/bin/foamTemplates/sourceTemplate/foamTemplateTemplate.C
+++ b/bin/templates/sourceTemplate/_TemplateTemplate.C
@@ -24,12 +24,12 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "ClassName.H"
+#include "CLASSNAME.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 template<TemplateClassArgument>
-const dataType Foam::ClassName<TemplateArgument>::staticData();
+const dataType Foam::CLASSNAME<TemplateArgument>::staticData();
 
 
 // * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * * //
@@ -38,7 +38,7 @@ const dataType Foam::ClassName<TemplateArgument>::staticData();
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 template<TemplateClassArgument>
-Foam::ClassName<TemplateArgument>::ClassName()
+Foam::CLASSNAME<TemplateArgument>::CLASSNAME()
 :
     baseClassName(),
     data_()
@@ -46,7 +46,7 @@ Foam::ClassName<TemplateArgument>::ClassName()
 
 
 template<TemplateClassArgument>
-Foam::ClassName<TemplateArgument>::ClassName(const dataType& data)
+Foam::CLASSNAME<TemplateArgument>::CLASSNAME(const dataType& data)
 :
     baseClassName(),
     data_(data)
@@ -54,12 +54,12 @@ Foam::ClassName<TemplateArgument>::ClassName(const dataType& data)
 
 
 template<TemplateClassArgument>
-Foam::ClassName<TemplateArgument>::ClassName
+Foam::CLASSNAME<TemplateArgument>::CLASSNAME
 (
-    const ClassName<TemplateArgument>&
+    const CLASSNAME<TemplateArgument>&
 )
 :
-    baseClassName(),
+    baseCLASSNAME(),
     data_()
 {}
 
@@ -67,12 +67,12 @@ Foam::ClassName<TemplateArgument>::ClassName
 // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
 
 template<TemplateClassArgument>
-Foam::autoPtr<Foam::ClassName<TemplateArgument> >
-Foam::ClassName<TemplateArgument>::New()
+Foam::autoPtr<Foam::CLASSNAME<TemplateArgument> >
+Foam::CLASSNAME<TemplateArgument>::New()
 {
-    return autoPtr<ClassName<TemplateArgument> >
+    return autoPtr<CLASSNAME<TemplateArgument> >
     (
-        new ClassName<TemplateArgument>
+        new CLASSNAME<TemplateArgument>
     );
 }
 
@@ -80,7 +80,7 @@ Foam::ClassName<TemplateArgument>::New()
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
 template<TemplateClassArgument>
-Foam::ClassName<TemplateArgument>::~ClassName()
+Foam::CLASSNAME<TemplateArgument>::~CLASSNAME()
 {}
 
 
@@ -96,9 +96,9 @@ Foam::ClassName<TemplateArgument>::~ClassName()
 // * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * * //
 
 template<TemplateClassArgument>
-void Foam::ClassName<TemplateArgument>::operator=
+void Foam::CLASSNAME<TemplateArgument>::operator=
 (
-    const ClassName<TemplateArgument>& rhs
+    const CLASSNAME<TemplateArgument>& rhs
 )
 {
     // Check for assignment to self
@@ -106,8 +106,8 @@ void Foam::ClassName<TemplateArgument>::operator=
     {
         FatalErrorIn
         (
-            "Foam::ClassName<TemplateArgument>::operator="
-            "(const Foam::ClassName<TemplateArgument>&)"
+            "Foam::CLASSNAME<TemplateArgument>::operator="
+            "(const Foam::CLASSNAME<TemplateArgument>&)"
         )   << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/bin/foamTemplates/sourceTemplate/foamTemplateTemplate.H b/bin/templates/sourceTemplate/_TemplateTemplate.H
similarity index 77%
rename from bin/foamTemplates/sourceTemplate/foamTemplateTemplate.H
rename to bin/templates/sourceTemplate/_TemplateTemplate.H
index 76bdd558601..6e24ddda2a6 100644
--- a/bin/foamTemplates/sourceTemplate/foamTemplateTemplate.H
+++ b/bin/templates/sourceTemplate/_TemplateTemplate.H
@@ -23,19 +23,19 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Class
-    Foam::ClassName
+    Foam::CLASSNAME
 
 Description
 
 SourceFiles
-    ClassNameI.H
-    ClassName.C
-    ClassNameIO.C
+    CLASSNAMEI.H
+    CLASSNAME.C
+    CLASSNAMEIO.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef ClassName_H
-#define ClassName_H
+#ifndef CLASSNAME_H
+#define CLASSNAME_H
 
 #include ".H"
 
@@ -51,21 +51,21 @@ class someClass;
 // Forward declaration of friend functions and operators
 
 template<TemplateClassArgument>
-class ClassName;
+class CLASSNAME;
 
 template<TemplateClassArgument>
-Istream& operator>>(Istream&, ClassName<TemplateArgument>&);
+Istream& operator>>(Istream&, CLASSNAME<TemplateArgument>&);
 
 template<TemplateClassArgument>
-Ostream& operator<<(Ostream&, const ClassName<TemplateArgument>&);
+Ostream& operator<<(Ostream&, const CLASSNAME<TemplateArgument>&);
 
 
 /*---------------------------------------------------------------------------*\
-                         Class ClassName Declaration
+                         Class CLASSNAME Declaration
 \*---------------------------------------------------------------------------*/
 
 template<TemplateClassArgument>
-class ClassName
+class CLASSNAME
 :
     public baseClassName
 {
@@ -77,10 +77,10 @@ class ClassName
     // Private Member Functions
 
         //- Disallow default bitwise copy construct
-        ClassName(const ClassName<TemplateArgument>&);
+        CLASSNAME(const CLASSNAME<TemplateArgument>&);
 
         //- Disallow default bitwise assignment
-        void operator=(const ClassName<TemplateArgument>&);
+        void operator=(const CLASSNAME<TemplateArgument>&);
 
 
 public:
@@ -94,33 +94,33 @@ public:
     // Constructors
 
         //- Construct null
-        ClassName();
+        CLASSNAME();
 
         //- Construct from components
-        ClassName(const dataType& data);
+        CLASSNAME(const dataType& data);
 
         //- Construct from Istream
-        ClassName(Istream&);
+        CLASSNAME(Istream&);
 
         //- Construct as copy
-        ClassName(const ClassName<TemplateArgument>&);
+        CLASSNAME(const CLASSNAME<TemplateArgument>&);
 
 
     // Selectors
 
         //- Select null constructed
-        static autoPtr<ClassName<TemplateArgument> > New();
+        static autoPtr<CLASSNAME<TemplateArgument> > New();
 
 
     //- Destructor
-    ~ClassName();
+    ~CLASSNAME();
 
 
     // Member Functions
 
     // Member Operators
 
-        void operator=(const ClassName<TemplateArgument>&);
+        void operator=(const CLASSNAME<TemplateArgument>&);
 
 
     // Friend Functions
@@ -130,10 +130,10 @@ public:
     // IOstream Operators
 
         friend Istream& operator>> <TemplateArgument>
-        (Istream&, ClassName<TemplateArgument>&);
+        (Istream&, CLASSNAME<TemplateArgument>&);
 
         friend Ostream& operator<< <TemplateArgument>
-        (Ostream&, const ClassName<TemplateArgument>&);
+        (Ostream&, const CLASSNAME<TemplateArgument>&);
 };
 
 
@@ -143,12 +143,12 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-#include "ClassNameI.H"
+#include "CLASSNAMEI.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #ifdef NoRepository
-#   include "ClassName.C"
+#   include "CLASSNAME.C"
 #endif
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/bin/foamTemplates/sourceTemplate/foamTemplateTemplateI.H b/bin/templates/sourceTemplate/_TemplateTemplateI.H
similarity index 100%
rename from bin/foamTemplates/sourceTemplate/foamTemplateTemplateI.H
rename to bin/templates/sourceTemplate/_TemplateTemplateI.H
diff --git a/bin/foamTemplates/sourceTemplate/foamTemplateTemplateIO.C b/bin/templates/sourceTemplate/_TemplateTemplateIO.C
similarity index 85%
rename from bin/foamTemplates/sourceTemplate/foamTemplateTemplateIO.C
rename to bin/templates/sourceTemplate/_TemplateTemplateIO.C
index 1c805f6f6a3..9453630b686 100644
--- a/bin/foamTemplates/sourceTemplate/foamTemplateTemplateIO.C
+++ b/bin/templates/sourceTemplate/_TemplateTemplateIO.C
@@ -24,13 +24,13 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "ClassName.H"
+#include "CLASSNAME.H"
 #include "IOstreams.H"
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 template<TemplateClassArgument>
-Foam::ClassName<TemplateArgument>::ClassName(Istream& is)
+Foam::CLASSNAME<TemplateArgument>::CLASSNAME(Istream& is)
 :
     base1(is),
     base2(is),
@@ -38,7 +38,7 @@ Foam::ClassName<TemplateArgument>::ClassName(Istream& is)
     member2(is)
 {
     // Check state of Istream
-    is.check("Foam::ClassName<TemplateArgument>::ClassName(Foam::Istream&)");
+    is.check("Foam::CLASSNAME<TemplateArgument>::CLASSNAME(Foam::Istream&)");
 }
 
 
@@ -48,14 +48,14 @@ template<TemplateClassArgument>
 Foam::Istream& Foam::operator>>
 (
     Istream& is,
-    ClassName<TemplateArgument>&
+    CLASSNAME<TemplateArgument>&
 )
 {
     // Check state of Istream
     is.check
     (
         "Foam::Istream& Foam::operator>>"
-        "(Foam::Istream&, Foam::ClassName<TemplateArgument>&)"
+        "(Foam::Istream&, Foam::CLASSNAME<TemplateArgument>&)"
     );
 
     return is;
@@ -66,14 +66,14 @@ template<TemplateClassArgument>
 Foam::Ostream& Foam::operator<<
 (
     Ostream& os,
-    const ClassName<TemplateArgument>&
+    const CLASSNAME<TemplateArgument>&
 )
 {
     // Check state of Ostream
     os.check
     (
         "Foam::Ostream& Foam::operator<<"
-        "(Ostream&, const ClassName<TemplateArgument>&)"
+        "(Ostream&, const CLASSNAME<TemplateArgument>&)"
     );
 
     return os;
diff --git a/bin/foamTemplates/sourceTemplate/newSourceTemplate b/bin/templates/sourceTemplate/foamNewTemplate
similarity index 74%
rename from bin/foamTemplates/sourceTemplate/newSourceTemplate
rename to bin/templates/sourceTemplate/foamNewTemplate
index b62a7f4c0e9..edf4fd3bce7 100755
--- a/bin/foamTemplates/sourceTemplate/newSourceTemplate
+++ b/bin/templates/sourceTemplate/foamNewTemplate
@@ -24,13 +24,14 @@
 #     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 #
 # Script
-#     newSourceTemplate
+#     foamNewTemplate
 #
 # Description
 #     Create a new standard OpenFOAM templated source file
 #
 #------------------------------------------------------------------------------
 Script=${0##*/}
+Template="$WM_PROJECT_DIR/bin/templates/sourceTemplate/_TemplateTemplate"
 
 usage() {
     while [ "$#" -ge 1 ]; do echo "$1"; shift; done
@@ -46,51 +47,50 @@ USAGE
     exit 1
 }
 
-if [ "$#" -le 2 ]; then
-   usage "wrong number of arguments, expected 3 (or more)"
-fi
+# this implicitly covers a lone -help
+[ "$#" -gt 1 ] || usage
+
+
+className="$2"
+unset Type
 
-unset suffix fileType
 case "$1" in
+-h | -help)
+    usage
+    ;;
 C|H)
-   Template=Template
-   fileType=$1
-   className=$2
-   ;;
+    Type=".$1"
+    ;;
 I)
-   suffix=$1
-   Template=TemplateI
-   fileType=H
-   className=$2
-   ;;
+    Type="$1.H"
+    ;;
 IO)
-   suffix=$1
-   Template=TemplateIO
-   fileType=C
-   className=$2
-   ;;
+    Type="$1.C"
+    ;;
 *)
-   usage "unknown type"
-   ;;
+    usage "unknown type"
+    ;;
 esac
+[ "$#" -ge 3 ] || usage "wrong number of arguments"
+shift 2
 
+fileName="$className$Type"
 
-fileName=$className$suffix.$fileType
 
-if [ -e "$fileName" ]; then
-   echo "Cannot make $fileName, file exists"
-   exit 1
+echo "$Script: Creating new template interface file $fileName"
+if [ -e "$fileName" ]
+then
+    echo "   Error: file exists"
+    exit 1
 fi
 
-shift 2
-echo "$Script: Creating new interface file $fileName"
 
 # process class name
-sed -e "s/ClassName/$className/g" \
-    $WM_PROJECT_DIR/bin/foamTemplates/sourceTemplate/foamTemplate$Template.$fileType > $fileName.1
+sed -e "s/CLASSNAME/$className/g" $Template$Type > $fileName.1
+
 
 # process template arguments
-for tArg in $*
+for tArg
 do
     sed -e "s/TemplateClassArgument/class $tArg, TemplateClassArgument/g" \
         -e "s/TemplateArgument/$tArg, TemplateArgument/g" \
@@ -99,7 +99,8 @@ do
     mv $fileName.2 $fileName.1
 done
 
-# remove remaining ", Template argument"
+
+# remove remaining ", Template .."
 sed -e "s/, TemplateClassArgument//g" \
     -e "s/, TemplateArgument//g" \
     $fileName.1 > $fileName
diff --git a/wmake/Makefile b/wmake/Makefile
index 28b7015b71d..6b4fd0abe6f 100644
--- a/wmake/Makefile
+++ b/wmake/Makefile
@@ -22,11 +22,11 @@
 #     along with OpenFOAM; if not, write to the Free Software Foundation,
 #     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 #
-# Script
+# File
 #     Makefile
 #
 # Description
-#     Generic Makefile used by wmake
+#     A generic Makefile, used by wmake
 #
 #------------------------------------------------------------------------------
 
diff --git a/wmake/MakefileApps b/wmake/MakefileApps
index 56c089c8536..55efa80ff8a 100644
--- a/wmake/MakefileApps
+++ b/wmake/MakefileApps
@@ -22,11 +22,11 @@
 #     along with OpenFOAM; if not, write to the Free Software Foundation,
 #     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 #
-# Script
+# File
 #     MakefileApps
 #
 # Description
-#     Makefile used by 
+#     Makefile used by
 #         wmake all
 #     to make the applications in the subdirectories of the current directory
 #
diff --git a/wmake/MakefileFiles b/wmake/MakefileFiles
index 4c2ef52826a..d927682d9bc 100644
--- a/wmake/MakefileFiles
+++ b/wmake/MakefileFiles
@@ -22,11 +22,11 @@
 #     along with OpenFOAM; if not, write to the Free Software Foundation,
 #     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 #
-# Script
+# File
 #     MakefileFiles
 #
 # Description
-#     General, easy to use make system for multi-platform development.
+#     A Makefile for the 'files', used by wmake
 #
 #------------------------------------------------------------------------------
 
@@ -40,7 +40,7 @@ include $(RULES)/general
 include $(OBJECTS_DIR)/options
 
 #------------------------------------------------------------------------------
-# declare names of make system control files derived from file files
+# declare names of make system control files derived from file 'files'
 #------------------------------------------------------------------------------
 
 FILES   = $(WM_OPTIONS)/files
@@ -51,7 +51,7 @@ DFILES  = $(WM_OPTIONS)/dependencyFiles
 IFILES  = $(WM_OPTIONS)/includeDeps
 
 #------------------------------------------------------------------------------
-# Declare dependecy of all make system files on FILE
+# Declare dependecy of all make system files on FILES
 # Causes all derived files to be remade if any are changed or missing
 #------------------------------------------------------------------------------
 
diff --git a/wmake/MakefileOptions b/wmake/MakefileOptions
index 92834a9a659..3e7779ff524 100644
--- a/wmake/MakefileOptions
+++ b/wmake/MakefileOptions
@@ -22,11 +22,11 @@
 #     along with OpenFOAM; if not, write to the Free Software Foundation,
 #     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 #
-# Script
+# File
 #     MakefileOptions
 #
 # Description
-#     General, easy to use make system for multi-platform development.
+#     A Makefile for the 'options', used by wmake
 #
 #------------------------------------------------------------------------------
 
@@ -37,13 +37,13 @@ include $(GENERAL_RULES)/general
 include $(RULES)/general
 
 #------------------------------------------------------------------------------
-# declare names of make system control files derived from file files
+# declare names of make system control files derived from file 'options'
 #------------------------------------------------------------------------------
 
 OPTIONS = $(WM_OPTIONS)/options
 
 #------------------------------------------------------------------------------
-# Declare dependency of all make system files on FILE
+# Declare dependency of all make system files on OPTIONS
 # Causes all derived files to be remade if any are changed or missing
 #------------------------------------------------------------------------------
 
diff --git a/wmake/wmakeFilesAndOptions b/wmake/wmakeFilesAndOptions
index 4cf7fcbde8c..d9fdca1854b 100755
--- a/wmake/wmakeFilesAndOptions
+++ b/wmake/wmakeFilesAndOptions
@@ -55,12 +55,12 @@ else
 fi
 
 [ -e Make/files ] || {
-    echo "$Script: Creating files"
+    echo "$Script: Creating Make/files"
     $WM_DIR/scripts/makeFiles
 }
 
 [ -e Make/options ] || {
-    echo "$Script: Creating options"
+    echo "$Script: Creating Make/options"
     $WM_DIR/scripts/makeOptions
 }
 
-- 
GitLab