Mercurial > sdl-ios-xcode
view build-scripts/makedep.sh @ 1550:31c2b8e4885e
Fixed bug #166
From the autoconf obsolete macros documentation:
Macro: AC_CANONICAL_SYSTEM
Determine the system type and set output variables to the names of the canonical system types. See section Getting the Canonical System Type, for details about the variables this macro sets.
The user is encouraged to use either AC_CANONICAL_BUILD, or AC_CANONICAL_HOST, or AC_CANONICAL_TARGET, depending on the needs. Using AC_CANONICAL_TARGET is enough to run the two other macros.
From the documentation for the canonical environments:
case $target in
i386-*-mach* | i386-*-gnu*)
obj_format=aout emulation=mach bfd_gas=yes ;;
i960-*-bout) obj_format=bout ;;
esac
Note that the above example uses $target because it's taken from a tool which can be built on some architecture ($build), run on another ($host), but yet handle data for a third architecture ($target). Such tools are usually part of a compiler suite, they generate code for a specific $target.
However $target should be meaningless for most packages. If you want to base a decision on the system where your program will be run, make sure you use the $host variable.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 19 Mar 2006 05:27:22 +0000 |
parents | 9b9212e4810c |
children | 14f302c5b32c |
line wrap: on
line source
#!/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"$objects" = x -o x"$output" = x; then echo "SOURCES, INCLUDE, objects, 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|'` obj=`echo $src | sed "s|^.*/\([^ ]*\)\..*|$objects/\1.lo|g"` echo "$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__ ;; asm) cat >>${output}.new <<__EOF__ \$(LIBTOOL) --tag=CC --mode=compile \$(auxdir)/strip_fPIC.sh \$(NASM) $src -o \$@ __EOF__ ;; S) cat >>${output}.new <<__EOF__ \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ __EOF__ ;; *) echo "Unknown file extension: $ext";; esac echo "" >>${output}.new done mv ${output}.new ${output} rm -f ${cache_prefix}*