ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/mkinstalldirs
Revision: 1.3
Committed: 2003-06-27T13:59:16Z (21 years, 4 months ago) by cebix
Branch: MAIN
CVS Tags: nigel-build-19, nigel-build-16, nigel-build-17, nigel-build-15, HEAD
Changes since 1.2: +66 -7 lines
Log Message:
updated autoconf auxiliary files

File Contents

# User Rev Content
1 cebix 1.1 #! /bin/sh
2     # mkinstalldirs --- make directory hierarchy
3     # Author: Noah Friedman <friedman@prep.ai.mit.edu>
4     # Created: 1993-05-16
5     # Public domain
6    
7 cebix 1.3 errstatus=0
8     dirmode=""
9    
10     usage="\
11     Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
12 cebix 1.1
13 cebix 1.3 # process command line arguments
14     while test $# -gt 0 ; do
15     case "${1}" in
16     -h | --help | --h* ) # -h for help
17     echo "${usage}" 1>&2; exit 0 ;;
18     -m ) # -m PERM arg
19     shift
20     test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
21     dirmode="${1}"
22     shift ;;
23     -- ) shift; break ;; # stop option processing
24     -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option
25     * ) break ;; # first non-opt arg
26     esac
27     done
28    
29     for file
30     do
31     if test -d "$file"; then
32     shift
33     else
34     break
35     fi
36     done
37    
38     case $# in
39     0) exit 0 ;;
40     esac
41    
42     case $dirmode in
43     '')
44     if mkdir -p -- . 2>/dev/null; then
45     echo "mkdir -p -- $*"
46     exec mkdir -p -- "$@"
47     fi ;;
48     *)
49     if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
50     echo "mkdir -m $dirmode -p -- $*"
51     exec mkdir -m "$dirmode" -p -- "$@"
52     fi ;;
53     esac
54 cebix 1.1
55     for file
56     do
57     set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
58     shift
59    
60     pathcomp=
61     for d
62     do
63     pathcomp="$pathcomp$d"
64     case "$pathcomp" in
65     -* ) pathcomp=./$pathcomp ;;
66     esac
67    
68     if test ! -d "$pathcomp"; then
69 cebix 1.3 echo "mkdir $pathcomp"
70 cebix 1.1
71 cebix 1.3 mkdir "$pathcomp" || lasterr=$?
72 cebix 1.1
73 cebix 1.3 if test ! -d "$pathcomp"; then
74     errstatus=$lasterr
75     else
76     if test ! -z "$dirmode"; then
77     echo "chmod $dirmode $pathcomp"
78    
79     lasterr=""
80     chmod "$dirmode" "$pathcomp" || lasterr=$?
81    
82     if test ! -z "$lasterr"; then
83     errstatus=$lasterr
84     fi
85     fi
86     fi
87 cebix 1.1 fi
88    
89     pathcomp="$pathcomp/"
90     done
91     done
92    
93     exit $errstatus
94    
95 cebix 1.3 # Local Variables:
96     # mode: shell-script
97     # sh-indentation: 3
98     # End:
99 cebix 1.1 # mkinstalldirs ends here