Prepping for using MMX and SSE intrinsics instead of inline assembly. .. except for memcpy equivalents which only get faster if they can exploit the parallelism of loading into multiple SIMD registers. :) --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402609
87 lines
2.1 KiB
Bash
Executable file
87 lines
2.1 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# Generate dependencies from a list of source files
|
|
|
|
# Check to make sure our environment variables are set
|
|
if test x"$INCLUDE" = x -o x"$SOURCES" = x -o x"$output" = x; then
|
|
echo "SOURCES, INCLUDE, and output needs to be set"
|
|
exit 1
|
|
fi
|
|
cache_prefix=".#$$"
|
|
|
|
generate_var()
|
|
{
|
|
echo $1 | sed -e 's|^.*/||' -e 's|\.|_|g'
|
|
}
|
|
|
|
search_deps()
|
|
{
|
|
base=`echo $1 | sed 's|/[^/]*$||'`
|
|
grep '#include "' <$1 | sed -e 's|.*"\([^"]*\)".*|\1|' | \
|
|
while read file
|
|
do cache=${cache_prefix}_`generate_var $file`
|
|
if test -f $cache; then
|
|
: # 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
|
|
cat $cache
|
|
done
|
|
}
|
|
|
|
:>${output}.new
|
|
for src in $SOURCES
|
|
do echo "Generating dependencies for $src"
|
|
ext=`echo $src | sed 's|.*\.\(.*\)|\1|'`
|
|
if test x"$ext" = x"rc"; then
|
|
obj=`echo $src | sed "s|^.*/\([^ ]*\)\..*|\1.o|g"`
|
|
else
|
|
obj=`echo $src | sed "s|^.*/\([^ ]*\)\..*|\1.lo|g"`
|
|
fi
|
|
echo "\$(objects)/$obj: $src \\" >>${output}.new
|
|
search_deps $src | sort | uniq >>${output}.new
|
|
case $ext in
|
|
c) cat >>${output}.new <<__EOF__
|
|
|
|
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
|
|
|
|
__EOF__
|
|
;;
|
|
cc) cat >>${output}.new <<__EOF__
|
|
|
|
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
|
|
|
|
__EOF__
|
|
;;
|
|
m) cat >>${output}.new <<__EOF__
|
|
|
|
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
|
|
|
|
__EOF__
|
|
;;
|
|
S) cat >>${output}.new <<__EOF__
|
|
|
|
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
|
|
|
|
__EOF__
|
|
;;
|
|
rc) cat >>${output}.new <<__EOF__
|
|
|
|
\$(WINDRES) $src \$@
|
|
|
|
__EOF__
|
|
;;
|
|
*) echo "Unknown file extension: $ext";;
|
|
esac
|
|
echo "" >>${output}.new
|
|
done
|
|
mv ${output}.new ${output}
|
|
rm -f ${cache_prefix}*
|