Mercurial > sdl-ios-xcode
comparison build-scripts/mkinstalldirs @ 1361:19418e4422cb
New configure-based build system. Still work in progress, but much improved
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 16 Feb 2006 10:11:48 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1360:70a9cfb4cf1b | 1361:19418e4422cb |
---|---|
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 errstatus=0 | |
8 dirmode="" | |
9 | |
10 usage="\ | |
11 Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." | |
12 | |
13 # 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 | |
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 echo "mkdir $pathcomp" | |
70 | |
71 mkdir "$pathcomp" || lasterr=$? | |
72 | |
73 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 fi | |
88 | |
89 pathcomp="$pathcomp/" | |
90 done | |
91 done | |
92 | |
93 exit $errstatus | |
94 | |
95 # Local Variables: | |
96 # mode: shell-script | |
97 # sh-indentation: 3 | |
98 # End: | |
99 # mkinstalldirs ends here |