Merge branch 'master' of github.com:OpenFOAM/OpenFOAM-2.0.x
[OpenFOAM-2.0.x.git] / bin / touchdep
blob64bc3846a0dfa5b27adf8a64651611686b5641c5
1 #!/bin/sh
2 #------------------------------------------------------------------------------
3 # ========= |
4 # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 # \\ / O peration |
6 # \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
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 # touchdep
28 # Description
29 # touch all .dep files
30 #------------------------------------------------------------------------------
31 usage() {
32 exec 1>&2
33 while [ "$#" -ge 1 ]; do echo "$1"; shift; done
34 cat<<USAGE
36 Usage: ${0##*/} [OPTION] [dir1] .. [dirN]
37 options:
38 -make limit selection to 'Make/\$WM_OPTIONS*' (Make/$WM_OPTIONS*)
39 -help print the usage
41 Find and touch all .dep files in the specified directories.
42 Uses the cwd by default if no directories are specified.
44 Current value of WM_OPTIONS=$WM_OPTIONS
47 NOTE The '-make' is a future feature.
48 This is currently no separation of .dep files by platforms.
50 USAGE
51 exit 1
55 unset restrictOpt
57 # parse options
58 while [ "$#" -gt 0 ]
60 case "$1" in
61 -h | -help)
62 usage
64 -m | -make)
65 [ -n "$WM_OPTIONS" ] || usage "Error: -make option only valid when \$WM_OPTIONS is set"
66 restrictOpt=true
67 shift
69 -*)
70 usage "unknown option: '$*'"
73 break
75 esac
76 done
79 # no directories specified: default is pwd
80 [ "$#" -gt 0 ] || set -- .
82 for i
84 if [ -d "$i" ]
85 then
86 if [ "$restrictOpt" = true ]
87 then
88 echo "touching all .dep files under Make/$WM_OPTIONS* : $i"
89 find $i -depth -name Make -type d -print | \
90 xargs -i find '{}' -depth -name "$WM_OPTIONS*" -type d -print | \
91 xargs -i find '{}' -name '*.dep' -type f -print | \
92 xargs -t touch
93 else
94 echo "touching all .dep files: $i"
95 find $i -name '*.dep' -type f -print | xargs -t touch
97 else
98 echo "no directory: $i"
100 done
101 #------------------------------------------------------------------------------