mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-22 22:00:49 +00:00
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@7233 72102866-910b-0410-8b05-ffd578937521
46 lines
818 B
Bash
Executable file
46 lines
818 B
Bash
Executable file
#!/bin/sh
|
|
# Make directory hierarchy.
|
|
# Written by Noah Friedman <friedman@prep.ai.mit.edu>
|
|
# Public domain.
|
|
|
|
defaultIFS='
|
|
'
|
|
IFS="${IFS-${defaultIFS}}"
|
|
|
|
errstatus=0
|
|
# Test mkdir -p
|
|
mkdir -p .test-mkdir || errstatus=$?
|
|
rmdir .test-mkdir
|
|
if test $errstatus != 0 -o -d "-p"; then
|
|
if test -d "-p"; then
|
|
rmdir -p
|
|
fi
|
|
MKDIR="mkdir"
|
|
else
|
|
MKDIR="mkdir -p"
|
|
fi
|
|
|
|
for file in ${1+"$@"} ; do
|
|
oIFS="${IFS}"
|
|
# Some sh's can't handle IFS=/ for some reason.
|
|
IFS='%'
|
|
set - `echo ${file} | sed -e 's@/@%@g' -e 's@^%@/@'`
|
|
IFS="${oIFS}"
|
|
|
|
pathcomp=''
|
|
|
|
for d in ${1+"$@"} ; do
|
|
pathcomp="${pathcomp}${d}"
|
|
|
|
if test ! -d "${pathcomp}"; then
|
|
echo "$MKDIR $pathcomp" 1>&2
|
|
$MKDIR "${pathcomp}" || errstatus=$?
|
|
fi
|
|
|
|
pathcomp="${pathcomp}/"
|
|
done
|
|
done
|
|
|
|
exit $errstatus
|
|
|
|
# eof
|