home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C / Applications / MacPerl 5.0.3 / MacPerl Source ƒ / Perl5 / x2p / cflags.SH < prev    next >
Encoding:
Text File  |  1994-12-26  |  2.0 KB  |  88 lines  |  [TEXT/MPS ]

  1. case $CONFIG in
  2. '')
  3.     if test -f config.sh; then TOP=.;
  4.     elif test -f ../config.sh; then TOP=..;
  5.     elif test -f ../../config.sh; then TOP=../..;
  6.     elif test -f ../../../config.sh; then TOP=../../..;
  7.     elif test -f ../../../../config.sh; then TOP=../../../..;
  8.     else
  9.         echo "Can't find config.sh."; exit 1
  10.     fi
  11.     . $TOP/config.sh
  12.     ;;
  13. esac
  14. : This forces SH files to create target in same directory as SH file.
  15. : This is so that make depend always knows where to find SH derivatives.
  16. case "$0" in
  17. */*) cd `expr X$0 : 'X\(.*\)/'` ;;
  18. esac
  19. echo "Extracting x2p/cflags (with variable substitutions)"
  20. : This section of the file will have variable substitutions done on it.
  21. : Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!.
  22. : Protect any dollar signs and backticks that you do not want interpreted
  23. : by putting a backslash in front.  You may delete these comments.
  24. $spitshell >cflags <<!GROK!THIS!
  25. !GROK!THIS!
  26.  
  27. : In the following dollars and backticks do not need the extra backslash.
  28. $spitshell >>cflags <<'!NO!SUBS!'
  29. case $CONFIG in
  30. '')
  31.     if test -f config.sh; then TOP=.;
  32.     elif test -f ../config.sh; then TOP=..;
  33.     elif test -f ../../config.sh; then TOP=../..;
  34.     elif test -f ../../../config.sh; then TOP=../../..;
  35.     elif test -f ../../../../config.sh; then TOP=../../../..;
  36.     else
  37.         echo "Can't find config.sh."; exit 1
  38.     fi
  39.     . $TOP/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.     ccflags="`echo $ccflags | sed -e 's/-DEMBED//'`"
  78.  
  79.     echo "$cc -c $ccflags $optimize $large $split"
  80.     eval "$also "'"$cc -c $ccflags $optimize $large $split"'
  81.  
  82.     . $TOP/config.sh
  83.  
  84. done
  85. !NO!SUBS!
  86. chmod 755 cflags
  87. $eunicefix cflags
  88.