X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=x2p%2Fcflags.SH;h=b5ef9170b9a65b62f09c293163c469461f7749e3;hb=dcc96bbd648270d5e7184f192cb9bada22ded67e;hp=db857c0492c24a7f6252e9db34da8873f1b04580;hpb=68decaef0a08fcd5db3193f825cfdfc539b67ccb;p=p5sagit%2Fp5-mst-13.2.git diff --git a/x2p/cflags.SH b/x2p/cflags.SH old mode 100644 new mode 100755 index db857c0..b5ef917 --- a/x2p/cflags.SH +++ b/x2p/cflags.SH @@ -1,20 +1,29 @@ -case $CONFIG in +case $CONFIGDOTSH in '') - if test ! -f config.sh; then - ln ../config.sh . || \ - ln ../../config.sh . || \ - ln ../../../config.sh . || \ - (echo "Can't find config.sh."; exit 1) - fi - . config.sh - ;; + if test -f config.sh; then TOP=.; + elif test -f ../config.sh; then TOP=..; + elif test -f ../../config.sh; then TOP=../..; + elif test -f ../../../config.sh; then TOP=../../..; + elif test -f ../../../../config.sh; then TOP=../../../..; + else + echo "Can't find config.sh."; exit 1 + fi + . $TOP/config.sh + ;; esac : This forces SH files to create target in same directory as SH file. : This is so that make depend always knows where to find SH derivatives. case "$0" in -*/*) cd `expr X$0 : 'X\(.*\)/'` ;; +*/cflags.SH) cd `expr X$0 : 'X\(.*\)/'` ;; +cflags.SH) ;; +*) case `pwd` in + */x2p) ;; + *) if test -d x2p; then cd x2p + else echo "Can't figure out where to write output."; exit 1 + fi;; + esac;; esac -echo "Extracting cflags (with variable substitutions)" +echo "Extracting x2p/cflags (with variable substitutions)" : This section of the file will have variable substitutions done on it. : Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!. : Protect any dollar signs and backticks that you do not want interpreted @@ -25,19 +34,18 @@ $spitshell >cflags <>cflags <<'!NO!SUBS!' -case "$0" in -*/*) cd `expr X$0 : 'X\(.*\)/'` ;; -esac case $CONFIG in '') - if test ! -f config.sh; then - ln ../config.sh . || \ - ln ../../config.sh . || \ - ln ../../../config.sh . || \ - (echo "Can't find config.sh."; exit 1) - fi 2>/dev/null - . ./config.sh - ;; + if test -f config.sh; then TOP=.; + elif test -f ../config.sh; then TOP=..; + elif test -f ../../config.sh; then TOP=../..; + elif test -f ../../../config.sh; then TOP=../../..; + elif test -f ../../../../config.sh; then TOP=../../../..; + else + echo "Can't find config.sh."; exit 1 + fi + . $TOP/config.sh + ;; esac also=': ' @@ -49,7 +57,7 @@ case $# in 0) set *.c; echo "The current C flags are:" ;; esac -set `echo "$* " | sed 's/\.[oc] / /g'` +set `echo "$* " | sed -e 's/\.[oc] / /g' -e 's/\.obj / /g' -e "s/\\$obj_ext / /g"` for file do @@ -74,12 +82,14 @@ for file do *) ;; esac + ccflags="`echo $ccflags | sed -e 's/-DMULTIPLICITY//'`" + echo "$cc -c $ccflags $optimize $large $split" eval "$also "'"$cc -c $ccflags $optimize $large $split"' - . ./config.sh + . $TOP/config.sh done !NO!SUBS! -chmod +x cflags +chmod 755 cflags $eunicefix cflags