symbian-qemu-0.9.1-12/libsdl-trunk/build-scripts/makedep.sh
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     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         asm) cat >>${output}.new <<__EOF__
       
    71 
       
    72 	\$(LIBTOOL) --tag=CC --mode=compile \$(auxdir)/strip_fPIC.sh \$(NASM) $src -o \$@
       
    73 
       
    74 __EOF__
       
    75         ;;
       
    76         S) cat >>${output}.new <<__EOF__
       
    77 
       
    78 	\$(LIBTOOL)  --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src  -o \$@
       
    79 
       
    80 __EOF__
       
    81         ;;
       
    82         rc) cat >>${output}.new <<__EOF__
       
    83 
       
    84 	\$(WINDRES) $src \$@
       
    85 
       
    86 __EOF__
       
    87         ;;
       
    88         *)   echo "Unknown file extension: $ext";;
       
    89     esac
       
    90     echo "" >>${output}.new
       
    91 done
       
    92 mv ${output}.new ${output}
       
    93 rm -f ${cache_prefix}*