build-scripts/makedep.sh
author Holmes Futrell <hfutrell@umail.ucsb.edu>
Tue, 29 Jul 2008 17:23:50 +0000
branchgsoc2008_iphone
changeset 2407 6c31bbd56c49
parent 2247 93994f65c74c
permissions -rwxr-xr-x
keyinfotable.h contains information which SDL_uikitkeyboard uses to convert between unichar characters that it reads from the text field (which acts as the keyboard's target) to SDL_scancodes and key modifiers which are sent to SDL's keyboard system.
     1 #!/bin/sh
     2 #
     3 # Generate dependencies from a list of source files
     4 
     5 # Check to make sure our environment variables are set
     6 if test x"$INCLUDE" = x -o x"$SOURCES" = x -o x"$output" = x; then
     7     echo "SOURCES, INCLUDE, and output needs to be set"
     8     exit 1
     9 fi
    10 cache_prefix=".#$$"
    11 
    12 generate_var()
    13 {
    14     echo $1 | sed -e 's|^.*/||' -e 's|\.|_|g'
    15 }
    16 
    17 search_deps()
    18 {
    19     base=`echo $1 | sed 's|/[^/]*$||'`
    20     grep '#include "' <$1 | sed -e 's|.*"\([^"]*\)".*|\1|' | \
    21     while read file
    22     do cache=${cache_prefix}_`generate_var $file`
    23        if test -f $cache; then
    24           : # We already ahve this cached
    25        else
    26            : >$cache
    27            for path in $base `echo $INCLUDE | sed 's|-I||g'`
    28            do dep="$path/$file"
    29               if test -f "$dep"; then
    30                  echo "	$dep \\" >>$cache
    31                  search_deps $dep >>$cache
    32                  break
    33               fi
    34            done
    35        fi
    36        cat $cache
    37     done
    38 }
    39 
    40 :>${output}.new
    41 for src in $SOURCES
    42 do  echo "Generating dependencies for $src"
    43     ext=`echo $src | sed 's|.*\.\(.*\)|\1|'`
    44     if test x"$ext" = x"rc"; then
    45         obj=`echo $src | sed "s|^.*/\([^ ]*\)\..*|\1.o|g"`
    46     else
    47         obj=`echo $src | sed "s|^.*/\([^ ]*\)\..*|\1.lo|g"`
    48     fi
    49     echo "\$(objects)/$obj: $src \\" >>${output}.new
    50     search_deps $src | sort | uniq >>${output}.new
    51     case $ext in
    52         c) cat >>${output}.new <<__EOF__
    53 
    54 	\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src  -o \$@
    55 
    56 __EOF__
    57         ;;
    58         cc) cat >>${output}.new <<__EOF__
    59 
    60 	\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src  -o \$@
    61 
    62 __EOF__
    63         ;;
    64         m) cat >>${output}.new <<__EOF__
    65 
    66 	\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src  -o \$@
    67 
    68 __EOF__
    69         ;;
    70         S) cat >>${output}.new <<__EOF__
    71 
    72 	\$(LIBTOOL)  --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src  -o \$@
    73 
    74 __EOF__
    75         ;;
    76         rc) cat >>${output}.new <<__EOF__
    77 
    78 	\$(WINDRES) $src \$@
    79 
    80 __EOF__
    81         ;;
    82         *)   echo "Unknown file extension: $ext";;
    83     esac
    84     echo "" >>${output}.new
    85 done
    86 mv ${output}.new ${output}
    87 rm -f ${cache_prefix}*