summaryrefslogtreecommitdiff
path: root/build-scripts
diff options
context:
space:
mode:
authorSam Lantinga <slouken@libsdl.org>2006-02-20 12:45:51 +0000
committerSam Lantinga <slouken@libsdl.org>2006-02-20 12:45:51 +0000
commitf41e6271cd1233e9e311d41c5d7306568aa093da (patch)
tree18645e12732a319a1446ff4171dcc4fbcc9500c0 /build-scripts
parentf3c0bf6f8f9d739afc70b65607a0b206fd5cf9b5 (diff)
Blargle-fnargle dependencies and build rules
Diffstat (limited to 'build-scripts')
-rwxr-xr-xbuild-scripts/makedep.sh46
1 files changed, 21 insertions, 25 deletions
diff --git a/build-scripts/makedep.sh b/build-scripts/makedep.sh
index 50ce568c0d..772fd12ae4 100755
--- a/build-scripts/makedep.sh
+++ b/build-scripts/makedep.sh
@@ -2,6 +2,11 @@
#
# Generate dependencies from a list of source files
+BUILDC="\\\$\\(LIBTOOL\\) --mode=compile \\\$\\(CC\\) \\\$\\(CFLAGS\\) -c \$src -o \\\$@"
+BUILDCC=$BUILDC
+BUILDM=$BUILDC
+BUILDASM="\\\$\\(LIBTOOL\\) --tag=CC --mode=compile \\\$\\(auxdir\\)/strip_fPIC.sh \\\$\\(NASM\\) \$src -o \\\$@"
+
# Check to make sure our environment variables are set
if test x"$INCLUDE" = x -o x"$SOURCES" = x -o x"$objects" = x -o x"$output" = x; then
echo "SOURCES, INCLUDE, objects, and output needs to be set"
@@ -21,27 +26,19 @@ search_deps()
while read file
do cache=${cache_prefix}_`generate_var $file`
if test -f $cache; then
- # We already ahve this cached
- if test x$2 = x; then
- cat $cache
- else
- cat $cache >>$2
- fi
- continue;
+ : # We already ahve this cached
+ else
+ : >$cache
+ for path in $base `echo $INCLUDE | sed 's|-I||g'`
+ do dep="$path/$file"
+ if test -f "$dep"; then
+ echo " $dep \\" >>$cache
+ search_deps $dep >>$cache
+ break
+ fi
+ done
fi
- for path in $base `echo $INCLUDE | sed 's|-I||g'`
- do dep="$path/$file"
- if test -f "$dep"; then
- echo " $dep \\" >>$cache
- if test x$2 = x; then
- echo " $dep \\"
- else
- echo " $dep \\" >>$2
- fi
- search_deps $dep $cache
- break
- fi
- done
+ cat $cache
done
}
@@ -54,13 +51,12 @@ do echo "Generating dependencies for $src"
search_deps $src | sort | uniq >>${output}.new
echo "" >>${output}.new
case $ext in
- asm) echo " \$(BUILDASM)" >>${output}.new;;
- cc) echo " \$(BUILDCC)" >>${output}.new;;
- c) echo " \$(BUILDC)" >>${output}.new;;
- m) echo " \$(BUILDM)" >>${output}.new;;
+ c) eval echo \\" $BUILDC\\" >>${output}.new;;
+ cc) eval echo \\" $BUILDCC\\" >>${output}.new;;
+ m) eval echo \\" $BUILDM\\" >>${output}.new;;
+ asm) eval echo \\" $BUILDASM\\" >>${output}.new;;
*) echo "Unknown file extension: $ext";;
esac
echo "" >>${output}.new
done
-rm -f ${cache_prefix}*
mv ${output}.new ${output}