Forgot to commit this one.

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3564 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
Meep-Eep
2011-02-15 20:30:05 +00:00
parent 8da280022a
commit 59449bc7b8
+88
View File
@@ -0,0 +1,88 @@
#!/bin/sh
# Generic code for traversing the source code directory structure according to
# the Makeinfo files.
usage() {
cat << EOF
Usage:
recurse <project> <root>
With the parameters:
<project>
The name identifying the project, used as prefix in variables in
'Makeproject' and 'Makeinfo'.
<root>
The root directory, containing 'Makeproject'.
EOF
}
if [ $# -ne 2 ]; then
usage >&2
exit 1
fi
BUILD_PROJECT=$1
BUILD_ROOT=${2%/}/
# $1 - The prefix up to this point
# $2 - The name of the current subdir
recurse_subdir() {
local REC_PREFIX SUBDIRS SUBDIR CFILES CXXFILES HFILES MFILES RCFILES FILE
eval local ${BUILD_PROJECT}_CFILES \
${BUILD_PROJECT}_CXXFILES \
${BUILD_PROJECT}_HFILES \
${BUILD_PROJECT}_MFILES \
${BUILD_PROJECT}_RCFILES \
${BUILD_PROJECT}_SUBDIRS
REC_PREFIX="$1$2/"
if [ "$REC_PREFIX" = "/" ]; then
REC_PREFIX=
fi
eval ${BUILD_PROJECT}_CFILES=
eval ${BUILD_PROJECT}_CXXFILES=
eval ${BUILD_PROJECT}_HFILES=
eval ${BUILD_PROJECT}_MFILES=
eval ${BUILD_PROJECT}_RCFILES=
eval ${BUILD_PROJECT}_SUBDIRS=
. "${BUILD_ROOT}${REC_PREFIX}Makeinfo"
eval CFILES=\$${BUILD_PROJECT}_CFILES
eval CXXFILES=\$${BUILD_PROJECT}_CXXFILES
eval HFILES=\$${BUILD_PROJECT}_HFILES
eval MFILES=\$${BUILD_PROJECT}_MFILES
eval RCFILES=\$${BUILD_PROJECT}_RCFILES
for FILE in $CFILES; do
echo "C ${OBJDIR}${REC_PREFIX}$FILE"
done
for FILE in $CXXFILES; do
echo "CXX ${OBJDIR}${REC_PREFIX}$FILE"
done
for FILE in $HFILES; do
echo "H ${OBJDIR}${REC_PREFIX}$FILE"
done
for FILE in $MFILES; do
echo "M ${OBJDIR}${REC_PREFIX}$FILE"
done
for FILE in $RCFILES; do
echo "RC ${OBJDIR}${REC_PREFIX}$FILE"
done
eval SUBDIRS=\$${BUILD_PROJECT}_SUBDIRS
for SUBDIR in $SUBDIRS; do
echo "DIRIN ${OBJDIR}${REC_PREFIX}$SUBDIR"
recurse_subdir "$REC_PREFIX" "$SUBDIR"
echo "DIROUT ${OBJDIR}${REC_PREFIX}$SUBDIR"
done
}
. "${BUILD_ROOT}Makeproject"
recurse_subdir "" ""