home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / TELECOM / rn_4_3_blars.lzh / makedepend.SH < prev    next >
Text File  |  1990-08-22  |  2KB  |  76 lines

  1. case $CONFIG in
  2.     '') . ./config.sh ;;
  3. esac
  4. echo "Extracting makedepend (with variable substitutions)"
  5. $spitshell >makedepend <<!GROK!THIS!
  6. $startsh
  7. # $Header: makedepend.SH,v 4.3.2.2 90/04/21 14:24:58 sob Exp $
  8. #
  9. # $Log:    makedepend.SH,v $
  10. # Revision 4.3.2.2  90/04/21  14:24:58  sob
  11. # Added a fix to deal with XENIX cc -E output.
  12. # Revision 4.3.2.1  89/12/17  02:52:46  sob
  13. # Will only read config.sh from local directory.
  14. # Revision 4.3.1.2  85/05/13  15:53:42  lwall
  15. # Made cpp look in /usr/local/include too.
  16. # Revision 4.3.1.1  85/05/10  11:35:10  lwall
  17. # Branch for patches.
  18. # Revision 4.3  85/05/01  11:42:26  lwall
  19. # Baseline for release with 4.3bsd.
  20.  
  21. export PATH || (echo "OOPS, this isn't sh.  Desperation time.  I will feed myself to sh."; sh \$0; kill \$\$)
  22.  
  23. $cat /dev/null >.deptmp
  24. $echo "(Note: this is going to take a while.)"
  25. $rm -f X*.c
  26. for file in *.c; do
  27.     filebase=\`basename \$file .c\`
  28.     $echo "Finding dependencies for \$filebase.o."
  29.     $sed -n <\$file >X\$file \\
  30.     -e "/^\${filebase}_init(/q" \\
  31.     -e '/^#/{' \\
  32.     -e 's|/\*.*$||' \\
  33.     -e p \\
  34.     -e '}'
  35.     $cpp -I/usr/local/include X\$file | $sed  \\
  36.     -e '/^#line/s/line//' \
  37.     -e '/^# *[0-9]/!d' \\
  38.     -e 's/^.*"\(.*\)".*\$/'\$filebase'.o: \1/' \\
  39.     -e 's|: \./|: |' \\
  40.     -e 's|: X|: |' | \\
  41.     $uniq | $sort | $uniq >> .deptmp
  42. done
  43.  
  44. for file in *.SH; do
  45.     $echo \`basename \$file .SH\`: \$file config.sh \; /bin/sh \$file >> .deptmp
  46. done
  47.  
  48. $sed <Makefile >Makefile.new -e '1,/^# AUTOMATICALLY/!d'
  49.  
  50. if $test -s .deptmp; then
  51.     echo "Updating Makefile..."
  52.     echo "# If this runs make out of memory, delete /usr/include lines." >>Makefile.new
  53.     $cat .deptmp >>Makefile.new
  54. else
  55.     $echo "You don't seem to have a proper C preprocessor.  Using grep instead."
  56.     $egrep '^#include ' *.c *.h >.deptmp
  57.     echo "Updating Makefile..."
  58.     <.deptmp $sed -n 's|c:#include "\(.*\)".*\$\$|o: \1|p' >> Makefile.new
  59.     <.deptmp $sed -n 's|c:#include <\(.*\)>.*\$\$|o: /usr/include/\1|p' >> Makefile.new
  60.     <.deptmp $sed -n 's|h:#include "\(.*\)".*\$\$|h: \1|p' >> Makefile.new
  61.     <.deptmp $sed -n 's|h:#include <\(.*\)>.*\$\$|h: /usr/include/\1|p' >> Makefile.new
  62. fi
  63. $mv Makefile Makefile.old
  64. $mv Makefile.new Makefile
  65. $echo "# WARNING: Put nothing here or make depend will gobble it up!" >> Makefile
  66. rm .deptmp X*.c
  67.  
  68. !GROK!THIS!
  69. $eunicefix makedepend
  70. chmod 755 makedepend
  71.