Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / wmake / wmakeLnIncludeAll
blob3c1151d8753ed5830052b1142fff1cc7e43a5def
1 #!/bin/sh
2 #------------------------------------------------------------------------------
3 # ========= |
4 # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 # \\ / O peration |
6 # \\ / A nd | Copyright (C) 2004-2010 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
14 # the Free Software Foundation, either version 3 of the License, or
15 # (at your 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, see <http://www.gnu.org/licenses/>.
25 # Script
26 # wmakeLnIncludeAll
28 # Description
29 # Find directories with a 'Make/files' that contains a 'LIB =' directive
30 # and execute 'wmakeLnInclude -f' for each one
32 #------------------------------------------------------------------------------
33 usage() {
34 while [ "$#" -ge 1 ]; do echo "$1"; shift; done
35 cat<<USAGE
37 usage: ${0##*/} [dir1 .. dirN]
39 Find directories with a 'Make/files' that contains a 'LIB =' directive
40 and execute 'wmakeLnInclude -f' for each one
42 USAGE
43 exit 1
46 #------------------------------------------------------------------------------
47 findName=lnInclude
49 # simple parse options
50 while [ "$#" -gt 0 ]
52 case "$1" in
53 -h | -help) # provide immediate help
54 usage
56 -*)
57 usage "unknown option: '$*'"
60 break
62 esac
63 done
66 # default to searching from pwd
67 [ "$#" -gt 0 ] || set -- .
69 for checkDir
71 if [ -d $checkDir ]
72 then
73 echo "searching: $checkDir for 'Make' directories"
74 echo "---------"
75 else
76 echo "skipping non-dir: $checkDir"
77 echo "----------------"
78 continue
81 find $checkDir -depth -type d -name Make -print | while read MakeDir
83 topDir=${MakeDir%/Make} # trim /Make from the end
84 if [ -d "$topDir" ]
85 then
86 if grep -e '^ *LIB *=' "$MakeDir/files" >/dev/null 2>&1
87 then
88 wmakeLnInclude -f $topDir
89 elif [ -d "$topDir/lnInclude" ]
90 then
91 echo "removing spurious $topDir/lnInclude"
92 rm -rf "$topDir/lnInclude"
95 done
96 done
98 #------------------------------------------------------------------------------