home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / p / perl4036.zip / x2p / cflags.SH < prev    next >
Text File  |  1993-02-08  |  2KB  |  86 lines

  1. case $CONFIG in
  2. '')
  3.     if test ! -f config.sh; then
  4.     ln ../config.sh . || \
  5.     ln ../../config.sh . || \
  6.     ln ../../../config.sh . || \
  7.     (echo "Can't find config.sh."; exit 1)
  8.     fi
  9.     . config.sh
  10.     ;;
  11. esac
  12. : This forces SH files to create target in same directory as SH file.
  13. : This is so that make depend always knows where to find SH derivatives.
  14. case "$0" in
  15. */*) cd `expr X$0 : 'X\(.*\)/'` ;;
  16. esac
  17. echo "Extracting cflags (with variable substitutions)"
  18. : This section of the file will have variable substitutions done on it.
  19. : Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!.
  20. : Protect any dollar signs and backticks that you do not want interpreted
  21. : by putting a backslash in front.  You may delete these comments.
  22. rm -f cflags
  23. $spitshell >cflags <<!GROK!THIS!
  24. !GROK!THIS!
  25.  
  26. : In the following dollars and backticks do not need the extra backslash.
  27. $spitshell >>cflags <<'!NO!SUBS!'
  28. case "$0" in
  29. */*) cd `expr X$0 : 'X\(.*\)/'` ;;
  30. esac
  31. case $CONFIG in
  32. '')
  33.     if test ! -f config.sh; then
  34.     ln ../config.sh . || \
  35.     ln ../../config.sh . || \
  36.     ln ../../../config.sh . || \
  37.     (echo "Can't find config.sh."; exit 1)
  38.     fi 2>/dev/null
  39.     . ./config.sh
  40.     ;;
  41. esac
  42.  
  43. also=': '
  44. case $# in
  45. 1) also='echo 1>&2 "      CCCMD = "'
  46. esac
  47.  
  48. case $# in
  49. 0) set *.c; echo "The current C flags are:" ;;
  50. esac
  51.  
  52. set `echo "$* " | sed 's/\.[oc] / /g'`
  53.  
  54. for file do
  55.  
  56.     case "$#" in
  57.     1) ;;
  58.     *) echo $n "    $file.c    $c" ;;
  59.     esac
  60.  
  61.     : allow variables like str_cflags to be evaluated
  62.  
  63.     eval 'eval ${'"${file}_cflags"'-""}'
  64.  
  65.     : or customize here
  66.  
  67.     case "$file" in
  68.     a2p) ;;
  69.     a2py) ;;
  70.     hash) ;;
  71.     str) ;;
  72.     util) ;;
  73.     walk) ;;
  74.     *) ;;
  75.     esac
  76.  
  77.     echo "$cc -c $ccflags $optimize $large $split"
  78.     eval "$also "'"$cc -c $ccflags $optimize $large $split"'
  79.  
  80.     . ./config.sh
  81.  
  82. done
  83. !NO!SUBS!
  84. chmod +x cflags
  85. $eunicefix cflags
  86.