initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / bin / foamTemplates / source / newSource
blob927ad36b31d407b723573fc2eef6abcaf03990c5
1 #!/bin/sh
2 #------------------------------------------------------------------------------
3 # ========= |
4 # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 # \\ / O peration |
6 # \\ / A nd | Copyright (C) 2009-2009 OpenCFD Ltd.
7 # \\/ M anipulation |
8 #-------------------------------------------------------------------------------
9 # License
10 # This file is part of OpenFOAM.
12 # OpenFOAM is free software; you can redistribute it and/or modify it
13 # under the terms of the GNU General Public License as published by the
14 # Free Software Foundation; either version 2 of the License, or (at your
15 # option) any later version.
17 # OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
18 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
20 # for more details.
22 # You should have received a copy of the GNU General Public License
23 # along with OpenFOAM; if not, write to the Free Software Foundation,
24 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 # Script
27 # foamNew
29 # Description
30 # Create a new standard OpenFOAM source file
32 #------------------------------------------------------------------------------
33 Script=${0##*/}
35 usage() {
36 while [ "$#" -ge 1 ]; do echo "$1"; shift; done
37 cat<<USAGE
39 usage: $Script <type> <class name>
41 * create a new standard OpenFOAM source file
43 type: (C|H|I|IO|App)
45 USAGE
46 exit 1
49 if [ "$#" -ne 2 ]; then
50 usage "wrong number of arguments, expected 2"
53 unset suffix fileType
54 case "$1" in
55 C|H)
56 template=foamTemplate
57 fileType=$1
60 suffix=$1
61 template=foamTemplateI
62 fileType=H
64 IO)
65 suffix=$1
66 template=foamTemplateIO
67 fileType=C
69 app|App)
70 template=foamAppTemplate
71 fileType=C
72 if [ ! -d Make ]; then
73 echo "foamNew: Creating Make/files and Make/options"
74 wmakeFilesAndOptions
78 usage "unknown type"
80 esac
83 fileName=$2$suffix.$fileType
85 if [ -e "$fileName" ]; then
86 echo "Cannot make $fileName, file exists"
87 exit 1
90 echo $Script: Creating new interface file $fileName
91 sed s/className/$2/g \
92 $WM_PROJECT_DIR/bin/foamTemplates/source/$template.$fileType > $fileName
94 #------------------------------------------------------------------------------