Add the OpenFOAM source tree

This commit is contained in:
Henry
2014-12-10 22:40:10 +00:00
parent ee487c860d
commit 446e5777f0
13379 changed files with 3983377 additions and 0 deletions

64
wmake/scripts/addCompile Executable file
View File

@ -0,0 +1,64 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
# \\/ 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
# addCompile
#
# Description
# Cleans up the dependency list and add the compilation statement.
#
# Usage: wmkdep <fileName> | addCompile <fileName>
#
#------------------------------------------------------------------------------
sourceName=${1##*/}
objectName=${sourceName%.*}.o
className=${sourceName%.*}.class
sub=${1##*.}
depName=${1%.*}.dep
sourceDir=${1%/*}
if [ "$sourceDir" = "$sourceName" ]
then
sourceDir=.
fi
if [ "$WM_PROJECT_DIR" ]
then
sed -e s%$WM_PROJECT_DIR%'$(WM_PROJECT_DIR)'% > $depName
else
cat > $depName
fi
sed -e s%".*.o.*:"%'$(OBJECTS_DIR)/'"$objectName\:"% \
-e s%$WM_PROJECT_DIR%'$(WM_PROJECT_DIR)'% \
>> $depName
echo '$(OBJECTS_DIR)/'$objectName': $(EXE_DEP)' >> $depName
echo '$(OBJECTS_DIR)/'$objectName':' >> $depName
echo ' @SOURCE_DIR='$sourceDir >> $depName
echo ' SOURCE='$1' ; $('$sub'too)' >> $depName
#------------------------------------------------------------------------------

133
wmake/scripts/makeDerivedFiles Executable file
View File

@ -0,0 +1,133 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
# \\/ 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
# makeDerivedFiles
#
# Description
# Constructs all the file list for make given the source file list,
# written by hand or using makeFilesAndOptions.
#
#------------------------------------------------------------------------------
[ -d "$WM_OPTIONS" ] || {
echo "The '$WM_OPTIONS' directory does not exist, exiting" 1>&2
exit 1
}
# change to the $WM_OPTIONS directory
cd "$WM_OPTIONS" 2>/dev/null || {
echo "Could not change to directory '$WM_OPTIONS'" 1>&2
exit 1
}
# Find and keep macro definitions in files list
grep "=" files > filesMacros
# Remove all macro definitions from the files list
grep -v "=" files > filesPlusBlank
# Add a newline to files to ensure the last line is followed by a newline
echo "" >> filesPlusBlank
# Remove commented lines, blank lines, and trailing blanks from files
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sed -e '/^#/ d' \
-e '/^[ \t]*$/ d' \
-e 's/[ \t]*$//' \
filesPlusBlank > files.$$
rm filesPlusBlank
# make sourceFiles
# ~~~~~~~~~~~~~~~~
echo "SOURCE = " > tmpSourceFile
cat files.$$ >> tmpSourceFile
sed -e 's/$/\\/' \
-e '$s/\\//' \
tmpSourceFile > sourceFiles
rm tmpSourceFile
# make objectFiles
# ~~~~~~~~~~~~~~~~
sed -e 's%.*/%%' \
-e 's%^%$(OBJECTS_DIR)/%' \
-e 's%\.[a-zA-Z]*$%\.o%' \
files.$$ > tmpObjectFiles
echo "OBJECTS = " > tmpObjectFiles2
cat tmpObjectFiles >> tmpObjectFiles2
sed -e 's/$/\\/' \
-e '$s/\\//' \
tmpObjectFiles2 > objectFiles
rm tmpObjectFiles tmpObjectFiles2
# make localObjectFiles
# ~~~~~~~~~~~~~~~~~~~~~
sed -e 's%.*/%%' \
-e 's%\.[a-zA-Z]*$%\.o%' \
files.$$ > tmpLocalObjectFiles
echo "LOCAL_OBJECTS = " > tmpLocalObjectFiles2
cat tmpLocalObjectFiles >> tmpLocalObjectFiles2
sed -e 's/$/\\/' \
-e '$s/\\//' \
tmpLocalObjectFiles2 > localObjectFiles
rm tmpLocalObjectFiles tmpLocalObjectFiles2
# make dependencyFiles
# ~~~~~~~~~~~~~~~~~~~~
sed 's/\.[a-zA-Z]*$/\.dep/' \
files.$$ > tmpDependencyFiles
echo "DEPENDENCIES = " > tmpDependencyFiles2
cat tmpDependencyFiles >> tmpDependencyFiles2
sed -e 's/$/\\/' \
-e '$s/\\//' \
tmpDependencyFiles2 > dependencyFiles
rm tmpDependencyFiles tmpDependencyFiles2
# make includeDeps
# ~~~~~~~~~~~~~~~~
sed -e 's/\.[a-zA-Z]*$/.dep/' \
-e 's/^/include /' \
files.$$ > includeDeps
rm files.$$
#------------------------------------------------------------------------------

40
wmake/scripts/makeDir Executable file
View File

@ -0,0 +1,40 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
# \\/ 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
# makeDir
#
# Description
# Script to make directories that do not already exist
# Usage : makeDir <dir> [.. <dirN>]
#
#------------------------------------------------------------------------------
for dir
do
[ -d "$dir" ] || mkdir -p "$dir"
done
#------------------------------------------------------------------------------

80
wmake/scripts/makeFiles Executable file
View File

@ -0,0 +1,80 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
# \\/ 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
# makeFiles
#
# Description
# Scan the current directory for source files and construct Make/files
#
# Usage : makeFiles
#
#------------------------------------------------------------------------------
if [ -r Make/files ]
then
echo "Error: Make/files already exists - exiting"
exit 1
fi
dirToString=$WM_DIR/platforms/$WM_ARCH$WM_COMPILER/dirToString
[ -d Make ] || mkdir Make
rm -f Make/files
for dir in `find . -type d -print`
do
case "$dir" in
. | ./Make | ./lnInclude )
# skip special directories
;;
*)
baseDir=`echo $dir | sed 's%^\./%%'`
baseDirName=`echo $baseDir | $dirToString`
echo $baseDirName " = " $baseDir >> Make/files
;;
esac
done
echo >> Make/files
for file in `find . -name "*.[cCylLfF]" -type f -print`
do
fileName=`echo ${file##*/}`
pathName=`echo ${file%/*} | sed 's%^\.%%' | sed 's%^/%%' | $dirToString`
if [ -n "$pathName" ]
then
echo '$('$pathName')/'$fileName >> Make/files
else
echo $fileName >> Make/files
fi
done
echo >> Make/files
echo 'EXE = $(FOAM_APPBIN)/'${PWD##*/} >> Make/files
#------------------------------------------------------------------------------

51
wmake/scripts/makeOptions Executable file
View File

@ -0,0 +1,51 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
# \\/ 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
# makeOptions
#
# Description
# Construct Make/options
#
# Usage : makeOptions
#
#------------------------------------------------------------------------------
if [ -r Make/options ]
then
echo "Error: Make/options already exists - exiting"
exit 1
fi
[ -d Make ] || mkdir Make
rm -f Make/options
echo 'EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude' >> Make/options
echo >> Make/options
echo 'EXE_LIBS = \
-lfiniteVolume' >> Make/options
#------------------------------------------------------------------------------

41
wmake/scripts/makeTargetDir Executable file
View File

@ -0,0 +1,41 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
# \\/ 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
# makeTargetDir
#
# Description
# Makes a directory hierarchy for the given target file
#
# Usage: makeTargetDir <directory>
#
#------------------------------------------------------------------------------
for target
do
dir=${target%/*}
[ -d "$dir" ] || [ "$dir" = "$target" ] || mkdir -p "$dir"
done
#------------------------------------------------------------------------------