Changeset d65de8a1 in rtems for depcomp


Ignore:
Timestamp:
May 27, 2013, 12:47:20 PM (8 years ago)
Author:
Ralf Corsépius <ralf.corsepius@…>
Branches:
4.11, 5, master
Children:
3d7eecc0
Parents:
10fd9533
Message:

Update from automake-1.13.2.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • depcomp

    r10fd9533 rd65de8a1  
    22# depcomp - compile a program generating dependencies as side-effects
    33
    4 scriptversion=2012-07-12.20; # UTC
    5 
    6 # Copyright (C) 1999-2012 Free Software Foundation, Inc.
     4scriptversion=2012-10-18.11; # UTC
     5
     6# Copyright (C) 1999-2013 Free Software Foundation, Inc.
    77
    88# This program is free software; you can redistribute it and/or modify
     
    2828case $1 in
    2929  '')
    30      echo "$0: No command.  Try '$0 --help' for more information." 1>&2
    31      exit 1;
    32      ;;
     30    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
     31    exit 1;
     32    ;;
    3333  -h | --h*)
    3434    cat <<\EOF
     
    5757esac
    5858
     59# Get the directory component of the given path, and save it in the
     60# global variables '$dir'.  Note that this directory component will
     61# be either empty or ending with a '/' character.  This is deliberate.
     62set_dir_from ()
     63{
     64  case $1 in
     65    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
     66      *) dir=;;
     67  esac
     68}
     69
     70# Get the suffix-stripped basename of the given path, and save it the
     71# global variable '$base'.
     72set_base_from ()
     73{
     74  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
     75}
     76
     77# If no dependency file was actually created by the compiler invocation,
     78# we still have to create a dummy depfile, to avoid errors with the
     79# Makefile "include basename.Plo" scheme.
     80make_dummy_depfile ()
     81{
     82  echo "#dummy" > "$depfile"
     83}
     84
     85# Factor out some common post-processing of the generated depfile.
     86# Requires the auxiliary global variable '$tmpdepfile' to be set.
     87aix_post_process_depfile ()
     88{
     89  # If the compiler actually managed to produce a dependency file,
     90  # post-process it.
     91  if test -f "$tmpdepfile"; then
     92    # Each line is of the form 'foo.o: dependency.h'.
     93    # Do two passes, one to just change these to
     94    #   $object: dependency.h
     95    # and one to simply output
     96    #   dependency.h:
     97    # which is needed to avoid the deleted-header problem.
     98    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
     99      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
     100    } > "$depfile"
     101    rm -f "$tmpdepfile"
     102  else
     103    make_dummy_depfile
     104  fi
     105}
     106
    59107# A tabulation character.
    60108tab='   '
     
    62110nl='
    63111'
     112# Character ranges might be problematic outside the C locale.
     113# These definitions help.
     114upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
     115lower=abcdefghijklmnopqrstuvwxyz
     116digits=0123456789
     117alpha=${upper}${lower}
    64118
    65119if test -z "$depmode" || test -z "$source" || test -z "$object"; then
     
    89143
    90144if test "$depmode" = dashXmstdout; then
    91    # This is just like dashmstdout with a different argument.
    92    dashmflag=-xM
    93    depmode=dashmstdout
     145  # This is just like dashmstdout with a different argument.
     146  dashmflag=-xM
     147  depmode=dashmstdout
    94148fi
    95149
    96150cygpath_u="cygpath -u -f -"
    97151if test "$depmode" = msvcmsys; then
    98    # This is just like msvisualcpp but w/o cygpath translation.
    99    # Just convert the backslash-escaped backslashes to single forward
    100    # slashes to satisfy depend.m4
    101    cygpath_u='sed s,\\\\,/,g'
    102    depmode=msvisualcpp
     152  # This is just like msvisualcpp but w/o cygpath translation.
     153  # Just convert the backslash-escaped backslashes to single forward
     154  # slashes to satisfy depend.m4
     155  cygpath_u='sed s,\\\\,/,g'
     156  depmode=msvisualcpp
    103157fi
    104158
    105159if test "$depmode" = msvc7msys; then
    106    # This is just like msvc7 but w/o cygpath translation.
    107    # Just convert the backslash-escaped backslashes to single forward
    108    # slashes to satisfy depend.m4
    109    cygpath_u='sed s,\\\\,/,g'
    110    depmode=msvc7
     160  # This is just like msvc7 but w/o cygpath translation.
     161  # Just convert the backslash-escaped backslashes to single forward
     162  # slashes to satisfy depend.m4
     163  cygpath_u='sed s,\\\\,/,g'
     164  depmode=msvc7
    111165fi
    112166
    113167if test "$depmode" = xlc; then
    114    # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
    115    gccflag=-qmakedep=gcc,-MF
    116    depmode=gcc
     168  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
     169  gccflag=-qmakedep=gcc,-MF
     170  depmode=gcc
    117171fi
    118172
     
    137191  "$@"
    138192  stat=$?
    139   if test $stat -eq 0; then :
    140   else
     193  if test $stat -ne 0; then
    141194    rm -f "$tmpdepfile"
    142195    exit $stat
     
    164217  "$@" -Wp,"$gccflag$tmpdepfile"
    165218  stat=$?
    166   if test $stat -eq 0; then :
    167   else
     219  if test $stat -ne 0; then
    168220    rm -f "$tmpdepfile"
    169221    exit $stat
     
    171223  rm -f "$depfile"
    172224  echo "$object : \\" > "$depfile"
    173   alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
    174 ## The second -e expression handles DOS-style file names with drive letters.
     225  # The second -e expression handles DOS-style file names with drive
     226  # letters.
    175227  sed -e 's/^[^:]*: / /' \
    176228      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
     
    181233## dummy dependencies for each header file.  Too bad gcc doesn't do
    182234## this for us directly.
    183   tr ' ' "$nl" < "$tmpdepfile" |
    184235## Some versions of gcc put a space before the ':'.  On the theory
    185236## that the space means something, we add a space to the output as
     
    188239## Some versions of the HPUX 10.20 sed can't process this invocation
    189240## correctly.  Breaking it into two sed invocations is a workaround.
    190     sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
    191       | sed -e 's/$/ :/' >> "$depfile"
     241  tr ' ' "$nl" < "$tmpdepfile" \
     242    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
     243    | sed -e 's/$/ :/' >> "$depfile"
    192244  rm -f "$tmpdepfile"
    193245  ;;
     
    207259  fi
    208260  stat=$?
    209   if test $stat -eq 0; then :
    210   else
     261  if test $stat -ne 0; then
    211262    rm -f "$tmpdepfile"
    212263    exit $stat
     
    216267  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
    217268    echo "$object : \\" > "$depfile"
    218 
    219269    # Clip off the initial element (the dependent).  Don't try to be
    220270    # clever and replace this with sed code, as IRIX sed won't handle
     
    224274    # dependency line.
    225275    tr ' ' "$nl" < "$tmpdepfile" \
    226     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
    227     tr "$nl" ' ' >> "$depfile"
     276      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
     277      | tr "$nl" ' ' >> "$depfile"
    228278    echo >> "$depfile"
    229 
    230279    # The second pass generates a dummy entry for each header file.
    231280    tr ' ' "$nl" < "$tmpdepfile" \
    232    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
    233    >> "$depfile"
     281      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
     282      >> "$depfile"
    234283  else
    235     # The sourcefile does not contain any dependencies, so just
    236     # store a dummy comment line, to avoid errors with the Makefile
    237     # "include basename.Plo" scheme.
    238     echo "#dummy" > "$depfile"
     284    make_dummy_depfile
    239285  fi
    240286  rm -f "$tmpdepfile"
     
    254300  # start of each line; $object doesn't have directory information.
    255301  # Version 6 uses the directory in both cases.
    256   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
    257   test "x$dir" = "x$object" && dir=
    258   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
     302  set_dir_from "$object"
     303  set_base_from "$object"
    259304  if test "$libtool" = yes; then
    260305    tmpdepfile1=$dir$base.u
     
    269314  fi
    270315  stat=$?
    271 
    272   if test $stat -eq 0; then :
    273   else
     316  if test $stat -ne 0; then
    274317    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
    275318    exit $stat
     
    280323    test -f "$tmpdepfile" && break
    281324  done
    282   if test -f "$tmpdepfile"; then
    283     # Each line is of the form 'foo.o: dependent.h'.
    284     # Do two passes, one to just change these to
    285     # '$object: dependent.h' and one to simply 'dependent.h:'.
    286     sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
    287     sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
    288   else
    289     # The sourcefile does not contain any dependencies, so just
    290     # store a dummy comment line, to avoid errors with the Makefile
    291     # "include basename.Plo" scheme.
    292     echo "#dummy" > "$depfile"
    293   fi
    294   rm -f "$tmpdepfile"
    295   ;;
    296 
    297 icc)
    298   # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
    299   # However on
    300   #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
    301   # ICC 7.0 will fill foo.d with something like
    302   #    foo.o: sub/foo.c
    303   #    foo.o: sub/foo.h
    304   # which is wrong.  We want
    305   #    sub/foo.o: sub/foo.c
    306   #    sub/foo.o: sub/foo.h
    307   #    sub/foo.c:
    308   #    sub/foo.h:
    309   # ICC 7.1 will output
    310   #    foo.o: sub/foo.c sub/foo.h
    311   # and will wrap long lines using '\':
    312   #    foo.o: sub/foo.c ... \
    313   #     sub/foo.h ... \
    314   #     ...
    315   # tcc 0.9.26 (FIXME still under development at the moment of writing)
    316   # will emit a similar output, but also prepend the continuation lines
    317   # with horizontal tabulation characters.
     325  aix_post_process_depfile
     326  ;;
     327
     328tcc)
     329  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
     330  # FIXME: That version still under development at the moment of writing.
     331  #        Make that this statement remains true also for stable, released
     332  #        versions.
     333  # It will wrap lines (doesn't matter whether long or short) with a
     334  # trailing '\', as in:
     335  #
     336  #   foo.o : \
     337  #    foo.c \
     338  #    foo.h \
     339  #
     340  # It will put a trailing '\' even on the last line, and will use leading
     341  # spaces rather than leading tabs (at least since its commit 0394caf7
     342  # "Emit spaces for -MD").
    318343  "$@" -MD -MF "$tmpdepfile"
    319344  stat=$?
    320   if test $stat -eq 0; then :
    321   else
     345  if test $stat -ne 0; then
    322346    rm -f "$tmpdepfile"
    323347    exit $stat
    324348  fi
    325349  rm -f "$depfile"
    326   # Each line is of the form 'foo.o: dependent.h',
    327   # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
    328   # Do two passes, one to just change these to
    329   # '$object: dependent.h' and one to simply 'dependent.h:'.
    330   sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
    331     < "$tmpdepfile" > "$depfile"
    332   sed '
    333     s/[ '"$tab"'][ '"$tab"']*/ /g
    334     s/^ *//
    335     s/ *\\*$//
    336     s/^[^:]*: *//
    337     /^$/d
    338     /:$/d
    339     s/$/ :/
    340   ' < "$tmpdepfile" >> "$depfile"
     350  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
     351  # We have to change lines of the first kind to '$object: \'.
     352  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
     353  # And for each line of the second kind, we have to emit a 'dep.h:'
     354  # dummy dependency, to avoid the deleted-header problem.
     355  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
    341356  rm -f "$tmpdepfile"
    342357  ;;
     
    357372  #     sub/foo.h ... \
    358373  #     ...
    359   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
    360   test "x$dir" = "x$object" && dir=
     374  set_dir_from "$object"
    361375  # Use the source, not the object, to determine the base name, since
    362376  # that's sadly what pgcc will do too.
    363   base=`echo "$source" | sed -e 's|^.*/||' -e 's/\.[-_a-zA-Z0-9]*$//'`
    364   tmpdepfile="$base.d"
     377  set_base_from "$source"
     378  tmpdepfile=$base.d
    365379
    366380  # For projects that build the same source file twice into different object
     
    368382  # problems in parallel builds.  Use a locking strategy to avoid stomping on
    369383  # the same $tmpdepfile.
    370   lockdir="$base.d-lock"
    371   trap "echo '$0: caught signal, cleaning up...' >&2; rm -rf $lockdir" 1 2 13 15
     384  lockdir=$base.d-lock
     385  trap "
     386    echo '$0: caught signal, cleaning up...' >&2
     387    rmdir '$lockdir'
     388    exit 1
     389  " 1 2 13 15
    372390  numtries=100
    373391  i=$numtries
    374   while test $i -gt 0 ; do
     392  while test $i -gt 0; do
    375393    # mkdir is a portable test-and-set.
    376     if mkdir $lockdir 2>/dev/null; then
     394    if mkdir "$lockdir" 2>/dev/null; then
    377395      # This process acquired the lock.
    378396      "$@" -MD
    379397      stat=$?
    380398      # Release the lock.
    381       rm -rf $lockdir
     399      rmdir "$lockdir"
    382400      break
    383401    else
    384       ## the lock is being held by a different process,
    385       ## wait until the winning process is done or we timeout
    386       while test -d $lockdir && test $i -gt 0; do
     402      # If the lock is being held by a different process, wait
     403      # until the winning process is done or we timeout.
     404      while test -d "$lockdir" && test $i -gt 0; do
    387405        sleep 1
    388406        i=`expr $i - 1`
     
    410428  # Some versions of the HPUX 10.20 sed can't process this invocation
    411429  # correctly.  Breaking it into two sed invocations is a workaround.
    412   sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
    413     sed -e 's/$/ :/' >> "$depfile"
     430  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
     431    | sed -e 's/$/ :/' >> "$depfile"
    414432  rm -f "$tmpdepfile"
    415433  ;;
     
    422440  # happens to be.
    423441  # Much of this is similar to the tru64 case; see comments there.
    424   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
    425   test "x$dir" = "x$object" && dir=
    426   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
     442  set_dir_from  "$object"
     443  set_base_from "$object"
    427444  if test "$libtool" = yes; then
    428445    tmpdepfile1=$dir$base.d
     
    435452  fi
    436453  stat=$?
    437   if test $stat -eq 0; then :
    438   else
     454  if test $stat -ne 0; then
    439455     rm -f "$tmpdepfile1" "$tmpdepfile2"
    440456     exit $stat
     
    446462  done
    447463  if test -f "$tmpdepfile"; then
    448     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
     464    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
    449465    # Add 'dependent.h:' lines.
    450466    sed -ne '2,${
    451                s/^ *//
    452                s/ \\*$//
    453                s/$/:/
    454                p
    455              }' "$tmpdepfile" >> "$depfile"
     467               s/^ *//
     468               s/ \\*$//
     469               s/$/:/
     470               p
     471             }' "$tmpdepfile" >> "$depfile"
    456472  else
    457     echo "#dummy" > "$depfile"
     473    make_dummy_depfile
    458474  fi
    459475  rm -f "$tmpdepfile" "$tmpdepfile2"
     
    461477
    462478tru64)
    463    # The Tru64 compiler uses -MD to generate dependencies as a side
    464    # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
    465    # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
    466    # dependencies in 'foo.d' instead, so we check for that too.
    467    # Subdirectories are respected.
    468    dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
    469    test "x$dir" = "x$object" && dir=
    470    base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
    471 
    472    if test "$libtool" = yes; then
    473       # With Tru64 cc, shared objects can also be used to make a
    474       # static library.  This mechanism is used in libtool 1.4 series to
    475       # handle both shared and static libraries in a single compilation.
    476       # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
    477       #
    478       # With libtool 1.5 this exception was removed, and libtool now
    479       # generates 2 separate objects for the 2 libraries.  These two
    480       # compilations output dependencies in $dir.libs/$base.o.d and
    481       # in $dir$base.o.d.  We have to check for both files, because
    482       # one of the two compilations can be disabled.  We should prefer
    483       # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
    484       # automatically cleaned when .libs/ is deleted, while ignoring
    485       # the former would cause a distcleancheck panic.
    486       tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
    487       tmpdepfile2=$dir$base.o.d          # libtool 1.5
    488       tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
    489       tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
    490       "$@" -Wc,-MD
    491    else
    492       tmpdepfile1=$dir$base.o.d
    493       tmpdepfile2=$dir$base.d
    494       tmpdepfile3=$dir$base.d
    495       tmpdepfile4=$dir$base.d
    496       "$@" -MD
    497    fi
    498 
    499    stat=$?
    500    if test $stat -eq 0; then :
    501    else
    502       rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
    503       exit $stat
    504    fi
    505 
    506    for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
    507    do
    508      test -f "$tmpdepfile" && break
    509    done
    510    if test -f "$tmpdepfile"; then
    511       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
    512       sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
    513    else
    514       echo "#dummy" > "$depfile"
    515    fi
    516    rm -f "$tmpdepfile"
    517    ;;
     479  # The Tru64 compiler uses -MD to generate dependencies as a side
     480  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
     481  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
     482  # dependencies in 'foo.d' instead, so we check for that too.
     483  # Subdirectories are respected.
     484  set_dir_from  "$object"
     485  set_base_from "$object"
     486
     487  if test "$libtool" = yes; then
     488    # Libtool generates 2 separate objects for the 2 libraries.  These
     489    # two compilations output dependencies in $dir.libs/$base.o.d and
     490    # in $dir$base.o.d.  We have to check for both files, because
     491    # one of the two compilations can be disabled.  We should prefer
     492    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
     493    # automatically cleaned when .libs/ is deleted, while ignoring
     494    # the former would cause a distcleancheck panic.
     495    tmpdepfile1=$dir$base.o.d          # libtool 1.5
     496    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
     497    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
     498    "$@" -Wc,-MD
     499  else
     500    tmpdepfile1=$dir$base.d
     501    tmpdepfile2=$dir$base.d
     502    tmpdepfile3=$dir$base.d
     503    "$@" -MD
     504  fi
     505
     506  stat=$?
     507  if test $stat -ne 0; then
     508    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
     509    exit $stat
     510  fi
     511
     512  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
     513  do
     514    test -f "$tmpdepfile" && break
     515  done
     516  # Same post-processing that is required for AIX mode.
     517  aix_post_process_depfile
     518  ;;
    518519
    519520msvc7)
     
    526527  stat=$?
    527528  grep -v '^Note: including file: ' "$tmpdepfile"
    528   if test "$stat" = 0; then :
    529   else
     529  if test $stat -ne 0; then
    530530    rm -f "$tmpdepfile"
    531531    exit $stat
     
    604604  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
    605605  "$@" $dashmflag |
    606     sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
     606    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
    607607  rm -f "$depfile"
    608608  cat < "$tmpdepfile" > "$depfile"
    609   tr ' ' "$nl" < "$tmpdepfile" | \
    610 ## Some versions of the HPUX 10.20 sed can't process this invocation
    611 ## correctly.  Breaking it into two sed invocations is a workaround.
    612     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
     609  # Some versions of the HPUX 10.20 sed can't process this sed invocation
     610  # correctly.  Breaking it into two sed invocations is a workaround.
     611  tr ' ' "$nl" < "$tmpdepfile" \
     612    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
     613    | sed -e 's/$/ :/' >> "$depfile"
    613614  rm -f "$tmpdepfile"
    614615  ;;
     
    663664  # No need to regex-escape $object, excess matching of '.' is harmless.
    664665  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
    665   sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
    666 ## Some versions of the HPUX 10.20 sed can't process this invocation
    667 ## correctly.  Breaking it into two sed invocations is a workaround.
    668     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
     666  # Some versions of the HPUX 10.20 sed can't process the last invocation
     667  # correctly.  Breaking it into two sed invocations is a workaround.
     668  sed '1,2d' "$tmpdepfile" \
     669    | tr ' ' "$nl" \
     670    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
     671    | sed -e 's/$/ :/' >> "$depfile"
    669672  rm -f "$tmpdepfile" "$tmpdepfile".bak
    670673  ;;
     
    702705  done
    703706
    704   "$@" -E |
    705     sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
    706        -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
    707     sed '$ s: \\$::' > "$tmpdepfile"
     707  "$@" -E \
     708    | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
     709             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
     710    | sed '$ s: \\$::' > "$tmpdepfile"
    708711  rm -f "$depfile"
    709712  echo "$object : \\" > "$depfile"
     
    737740      ;;
    738741    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
    739         set fnord "$@"
    740         shift
    741         shift
    742         ;;
     742        set fnord "$@"
     743        shift
     744        shift
     745        ;;
    743746    *)
    744         set fnord "$@" "$arg"
    745         shift
    746         shift
    747         ;;
     747        set fnord "$@" "$arg"
     748        shift
     749        shift
     750        ;;
    748751    esac
    749752  done
Note: See TracChangeset for help on using the changeset viewer.