Generalise recursing through the source tree.
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3556 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
+15
-42
@@ -1,5 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Find all the .c, .cpp, .m, and .rc files which are relevant for the project,
|
||||||
|
# and remove their respective object files in the work directory.
|
||||||
|
|
||||||
# Expected to be passed from the environment:
|
# Expected to be passed from the environment:
|
||||||
# BUILD_PROJECT - the name of the project
|
# BUILD_PROJECT - the name of the project
|
||||||
# BUILD_ROOT - The root of the source files.
|
# BUILD_ROOT - The root of the source files.
|
||||||
@@ -9,48 +12,18 @@ BUILD_ROOT=${BUILD_ROOT%/}/
|
|||||||
BUILD_WORK=${BUILD_WORK%/}/
|
BUILD_WORK=${BUILD_WORK%/}/
|
||||||
eval OBJDIR=\"${BUILD_WORK}\${${BUILD_PROJECT}_OBJS}\"
|
eval OBJDIR=\"${BUILD_WORK}\${${BUILD_PROJECT}_OBJS}\"
|
||||||
|
|
||||||
|
|
||||||
# $1 - The prefix up to this point
|
|
||||||
# $2 - The name of the current subdir
|
|
||||||
recurse_subdir() {
|
|
||||||
local REC_PREFIX SUBDIRS SUBDIR CFILES CXXFILES MFILES RCFILES FILE
|
|
||||||
eval local ${BUILD_PROJECT}_CFILES ${BUILD_PROJECT}_CXXFILES \
|
|
||||||
${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}_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 MFILES=\$${BUILD_PROJECT}_MFILES
|
|
||||||
eval RCFILES=\$${BUILD_PROJECT}_RCFILES
|
|
||||||
for FILE in $CFILES $CXXFILES $MFILES $RCFILES; do
|
|
||||||
rm -f -- "${OBJDIR}${REC_PREFIX}$FILE.d" \
|
|
||||||
"${OBJDIR}${REC_PREFIX}$FILE.o"
|
|
||||||
done
|
|
||||||
|
|
||||||
eval SUBDIRS=\$${BUILD_PROJECT}_SUBDIRS
|
|
||||||
for SUBDIR in $SUBDIRS; do
|
|
||||||
recurse_subdir "$REC_PREFIX" "$SUBDIR"
|
|
||||||
done
|
|
||||||
|
|
||||||
rmdir -- "${OBJDIR}${REC_PREFIX%/}" 2> /dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
. "${BUILD_ROOT}Makeproject"
|
. "${BUILD_ROOT}Makeproject"
|
||||||
|
|
||||||
recurse_subdir "" ""
|
build/unix/recurse "$BUILD_PROJECT" "$BUILD_ROOT" | \
|
||||||
|
while read TYPE FILE; do
|
||||||
|
case "$TYPE" in
|
||||||
|
C|CXX|M|RC)
|
||||||
|
rm -f -- "${OBJDIR}${REC_PREFIX}$FILE.d" \
|
||||||
|
"${OBJDIR}${FILE}.o"
|
||||||
|
;;
|
||||||
|
DIROUT)
|
||||||
|
rmdir -- "${OBJDIR}${FILE}" 2> /dev/null
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Find all the .c, .cpp, .m, and .rc files which are relevant for the project,
|
||||||
|
# and map them to the work directory.
|
||||||
|
|
||||||
# Expected to be passed from the environment:
|
# Expected to be passed from the environment:
|
||||||
# BUILD_PROJECT - the name of the project
|
# BUILD_PROJECT - the name of the project
|
||||||
# BUILD_ROOT - The root of the source files.
|
# BUILD_ROOT - The root of the source files.
|
||||||
@@ -9,45 +12,15 @@ BUILD_ROOT=${BUILD_ROOT%/}/
|
|||||||
BUILD_WORK=${BUILD_WORK%/}/
|
BUILD_WORK=${BUILD_WORK%/}/
|
||||||
eval OBJDIR=\"${BUILD_WORK}\${${BUILD_PROJECT}_OBJS}\"
|
eval OBJDIR=\"${BUILD_WORK}\${${BUILD_PROJECT}_OBJS}\"
|
||||||
|
|
||||||
|
|
||||||
# $1 - The prefix up to this point
|
|
||||||
# $2 - The name of the current subdir
|
|
||||||
recurse_subdir() {
|
|
||||||
local REC_PREFIX SUBDIRS SUBDIR CFILES CXXFILES MFILES RCFILES FILE
|
|
||||||
eval local ${BUILD_PROJECT}_CFILES ${BUILD_PROJECT}_CXXFILES \
|
|
||||||
${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}_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 MFILES=\$${BUILD_PROJECT}_MFILES
|
|
||||||
eval RCFILES=\$${BUILD_PROJECT}_RCFILES
|
|
||||||
for FILE in $CFILES $CXXFILES $MFILES $RCFILES; do
|
|
||||||
echo "${OBJDIR}${REC_PREFIX}$FILE"
|
|
||||||
done
|
|
||||||
|
|
||||||
eval SUBDIRS=\$${BUILD_PROJECT}_SUBDIRS
|
|
||||||
for SUBDIR in $SUBDIRS; do
|
|
||||||
recurse_subdir "$REC_PREFIX" "$SUBDIR"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
. "${BUILD_ROOT}Makeproject"
|
. "${BUILD_ROOT}Makeproject"
|
||||||
. "${BUILD_WORK}build.vars"
|
. "${BUILD_WORK}build.vars"
|
||||||
|
|
||||||
recurse_subdir "" ""
|
build/unix/recurse "$BUILD_PROJECT" "$BUILD_ROOT" | \
|
||||||
|
while read TYPE FILE; do
|
||||||
|
case "$TYPE" in
|
||||||
|
C|CXX|M|RC)
|
||||||
|
echo "$OBJDIR$FILE"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user