genif.sh 659 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #! /bin/sh
  2. # $Id: genif.sh,v 1.6 2005-06-21 13:47:38 sniper Exp $
  3. # replacement for genif.pl
  4. infile=$1
  5. shift
  6. srcdir=$1
  7. shift
  8. extra_module_ptrs=$1
  9. shift
  10. awk=$1
  11. shift
  12. if test -z "$infile" || test -z "$srcdir"; then
  13. echo "please supply infile and srcdir"
  14. exit 1
  15. fi
  16. header_list=
  17. olddir=`pwd`
  18. cd $srcdir
  19. module_ptrs="$extra_module_ptrs`echo $@ | $awk -f ./build/order_by_dep.awk`"
  20. for ext in ${1+"$@"} ; do
  21. header_list="$header_list ext/$ext/*.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'