1#!/bin/sh -e 2 3. package/info 4 5echo '#' 6echo '# This file has been generated by tools/gen-deps.sh' 7echo '#' 8echo 9 10for dir in src/include/${package} src/* ; do 11 for file in $(ls -1 $dir | grep -- \\.h$) ; do 12 { 13 grep -F -- "#include <${package}/" < ${dir}/$file | cut -d'<' -f2 | cut -d'>' -f1 ; 14 grep -- '#include ".*\.h"' < ${dir}/$file | cut -d'"' -f2 15 } | sort -u | { 16 deps= 17 while read dep ; do 18 if echo $dep | grep -q "^${package}/" ; then 19 deps="$deps src/include/$dep" 20 elif test -f "${dir}/$dep" ; then 21 deps="$deps ${dir}/$dep" 22 else 23 deps="$deps src/include-local/$dep" 24 fi 25 done 26 if test -n "$deps" ; then 27 echo "${dir}/${file}:${deps}" 28 fi 29 } 30 done 31done 32 33for dir in src/* ; do 34 for file in $(ls -1 $dir | grep -- \\.c$) ; do 35 { 36 grep -F -- "#include <${package}/" < ${dir}/$file | cut -d'<' -f2 | cut -d'>' -f1 ; 37 grep -- '#include ".*\.h"' < ${dir}/$file | cut -d'"' -f2 38 } | sort -u | { 39 deps=" ${dir}/$file" 40 while read dep ; do 41 if echo $dep | grep -q "^${package}/" ; then 42 deps="$deps src/include/$dep" 43 elif test -f "${dir}/$dep" ; then 44 deps="$deps ${dir}/$dep" 45 else 46 deps="$deps src/include-local/$dep" 47 fi 48 done 49 o=$(echo $file | sed s/\\.c$/.o/) 50 lo=$(echo $file | sed s/\\.c$/.lo/) 51 echo "${dir}/${o} ${dir}/${lo}:${deps}" 52 } 53 done 54done 55echo 56 57for dir in $(ls -1 src | grep -v ^include) ; do 58 for file in $(ls -1 src/$dir/deps-lib) ; do 59 deps= 60 libs= 61 while read dep ; do 62 if echo $dep | grep -q -e ^-l -e '^\${.*_LIB}' ; then 63 libs="$libs $dep" 64 else 65 deps="$deps src/$dir/$dep" 66 fi 67 done < src/$dir/deps-lib/$file 68 echo 'ifeq ($(strip $(STATIC_LIBS_ARE_PIC)),)' 69 echo "lib${file}.a.xyzzy:$deps" 70 echo else 71 echo "lib${file}.a.xyzzy:$(echo "$deps" | sed 's/\.o/.lo/g')" 72 echo endif 73 echo "lib${file}.so.xyzzy: EXTRA_LIBS :=$libs" 74 echo "lib${file}.so.xyzzy:$(echo "$deps" | sed 's/\.o/.lo/g')" 75 done 76 77 for file in $(ls -1 src/$dir/deps-exe) ; do 78 deps= 79 libs= 80 while read dep ; do 81 if echo $dep | grep -q -- \\.o$ ; then 82 dep="src/$dir/$dep" 83 fi 84 if echo $dep | grep -q -e ^-l -e '^\${.*_LIB}' ; then 85 libs="$libs $dep" 86 else 87 deps="$deps $dep" 88 fi 89 done < src/$dir/deps-exe/$file 90 echo "$file: EXTRA_LIBS :=$libs" 91 echo "$file: src/$dir/$file.o$deps" 92 done 93done 94