diff --git a/bin/foamNew b/bin/foamNew index 6ef67f738754d12966d4f77f43af1af98531c115..d1b31693b9f40e55166691202608eaa7d01b4a5c 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 0000000000000000000000000000000000000000..1195efa3f39f472e565be8430b8ebe97a77cfef1 --- /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 0000000000000000000000000000000000000000..daefeb49292eb14d9760188d1b3ec70c4e6133d3 --- /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 1f86ef69f8739499da8d8ce3c6048583aeb56c7d..a45d3ff6ac42f26f8238619393703ef088a0cc4a 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 e0b6cf21577a30947428b32ef1da7e8947d5900b..b86edcbde916e0eafd4b6b9b7d426215ae9bd391 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 46c089c1a865c2884cd4f62323db9f5c67442dce..7ce97539e6ab351103502e5ca0594cd045e52d2d 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 d9119ed354a4bce766750b5afd1a4c997245db29..c6d595100a2460dcfca112cf0c214ecb7faed950 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 927ad36b31d407b723573fc2eef6abcaf03990c5..ec1ad7b2e1bbc37c8bfdb9714918da4b783b667d 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 5acafb25e79133c97b4a9a7ee277d687e01ab14f..c73d5043a125f5f29afbdd95015be50ac93e2552 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 76bdd558601d023c9eaa24c9a2cbd128eb4421a1..6e24ddda2a6badd20ad9c4ebbcaf54c45147dcee 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 1c805f6f6a39e5883e96d06d9f4b4531902c811b..9453630b686216647ab7035df15bb36dcc0144fa 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 b62a7f4c0e9f45150c30218f83bf8b28c5574f07..edf4fd3bce7ea59b753081d0ad0e42678f4af257 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 28b7015b71dbc899c4bb4eea9845ac53edb34683..6b4fd0abe6faaa58688664345e0c81439fc66b1b 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 56c089c8536e88d50ef0f005f41b46b31a10cb68..55efa80ff8acd041be0b526b10fde8a8183b1c14 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 4c2ef52826a0dfa3a0832ecebf66a3cdc6f51d21..d927682d9bcc4078d791ca401aada60a483a12d5 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 92834a9a6594d37a35195ae93869eab4b63fbb0f..3e7779ff5244f745f74ac77b1f77682087bbef7f 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 4cf7fcbde8cb8ca7d985b7bcd1aced3af37a688e..d9fdca1854b355adca1d65c94167decde2c4e4fe 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 }