diff options
| author | Xin LI <delphij@FreeBSD.org> | 2014-02-28 19:12:44 +0000 |
|---|---|---|
| committer | Xin LI <delphij@FreeBSD.org> | 2014-02-28 19:12:44 +0000 |
| commit | 4b819fa20a8d007a10f2d3e8d6a5dedf7f18fc9a (patch) | |
| tree | b8f6e12b479a78216f3bffb8e1258d54087268de /mkdirs.sh | |
| parent | e07762606a5bf651a501cb095c98cba90e4a8fe2 (diff) | |
Notes
Diffstat (limited to 'mkdirs.sh')
| -rw-r--r-- | mkdirs.sh | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/mkdirs.sh b/mkdirs.sh new file mode 100644 index 000000000000..59fc39c21ae9 --- /dev/null +++ b/mkdirs.sh @@ -0,0 +1,51 @@ +#! /bin/sh +# $Id: mkdirs.sh,v 1.5 2007/03/25 22:29:46 tom Exp $ +# ----------------------------------------------------------------------------- +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman <friedman@prep.ai.mit.edu> +# Created: 1993-05-16 +# Last modified: 1994-03-25 +# Public domain +# ----------------------------------------------------------------------------- + +errstatus=0 +umask 022 + +for file in ${1+"$@"} ; do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift + + pathcomp= + for d in ${1+"$@"} ; do + pathcomp="$pathcomp$d" + case "$pathcomp" in + -* ) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" 1>&2 + case "$pathcomp" in + [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]: ) + ;; # DOSISH systems + * ) + mkdir "$pathcomp" + errstatus=$? + if test $errstatus != 0 + then + # may have failed if invoked in a parallel "make -j# install" + if test -d "$pathcomp" + then + errstatus=0 + fi + fi + ;; + esac + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# mkinstalldirs ends here |
