genif.sh 647 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #! /bin/sh
  2. # replacement for genif.pl
  3. infile=$1
  4. shift
  5. srcdir=$1
  6. shift
  7. extra_module_ptrs=$1
  8. shift
  9. awk=$1
  10. shift
  11. if test -z "$infile" || test -z "$srcdir"; then
  12. echo "please supply infile and srcdir" >&2
  13. exit 1
  14. fi
  15. header_list=
  16. olddir=`pwd`
  17. cd $srcdir
  18. module_ptrs="$extra_module_ptrs`echo $@ | $awk -f ./build/order_by_dep.awk`"
  19. for ext in ${1+"$@"} ; do
  20. ext_dir=`echo "$ext" | cut -d ';' -f 2`
  21. header_list="$header_list $ext_dir/*.h*"
  22. done
  23. includes=`$awk -f ./build/print_include.awk $header_list`
  24. cd $olddir
  25. cat $infile | \
  26. sed \
  27. -e "s'@EXT_INCLUDE_CODE@'$includes'" \
  28. -e "s'@EXT_MODULE_PTRS@'$module_ptrs'" \
  29. -e 's/@NEWLINE@/\
  30. /g'