"Fossies" - the Fresh Open Source Software Archive

Member "tnftp-20200705/buildaux/depcomp" (5 Jul 2020, 20899 Bytes) of package /linux/privat/tnftp-20200705.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "depcomp": 20151004_vs_20200705.

    1 #! /bin/sh
    2 # depcomp - compile a program generating dependencies as side-effects
    3 
    4 scriptversion=2012-03-27.16; # UTC
    5 
    6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
    7 # 2011, 2012 Free Software Foundation, Inc.
    8 
    9 # This program is free software; you can redistribute it and/or modify
   10 # it under the terms of the GNU General Public License as published by
   11 # the Free Software Foundation; either version 2, or (at your option)
   12 # any later version.
   13 
   14 # This program is distributed in the hope that it will be useful,
   15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
   16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   17 # GNU General Public License for more details.
   18 
   19 # You should have received a copy of the GNU General Public License
   20 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
   21 
   22 # As a special exception to the GNU General Public License, if you
   23 # distribute this file as part of a program that contains a
   24 # configuration script generated by Autoconf, you may include it under
   25 # the same distribution terms that you use for the rest of that program.
   26 
   27 # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
   28 
   29 case $1 in
   30   '')
   31      echo "$0: No command.  Try '$0 --help' for more information." 1>&2
   32      exit 1;
   33      ;;
   34   -h | --h*)
   35     cat <<\EOF
   36 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
   37 
   38 Run PROGRAMS ARGS to compile a file, generating dependencies
   39 as side-effects.
   40 
   41 Environment variables:
   42   depmode     Dependency tracking mode.
   43   source      Source file read by 'PROGRAMS ARGS'.
   44   object      Object file output by 'PROGRAMS ARGS'.
   45   DEPDIR      directory where to store dependencies.
   46   depfile     Dependency file to output.
   47   tmpdepfile  Temporary file to use when outputting dependencies.
   48   libtool     Whether libtool is used (yes/no).
   49 
   50 Report bugs to <bug-automake@gnu.org>.
   51 EOF
   52     exit $?
   53     ;;
   54   -v | --v*)
   55     echo "depcomp $scriptversion"
   56     exit $?
   57     ;;
   58 esac
   59 
   60 # A tabulation character.
   61 tab='   '
   62 # A newline character.
   63 nl='
   64 '
   65 
   66 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   67   echo "depcomp: Variables source, object and depmode must be set" 1>&2
   68   exit 1
   69 fi
   70 
   71 # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
   72 depfile=${depfile-`echo "$object" |
   73   sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
   74 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
   75 
   76 rm -f "$tmpdepfile"
   77 
   78 # Some modes work just like other modes, but use different flags.  We
   79 # parameterize here, but still list the modes in the big case below,
   80 # to make depend.m4 easier to write.  Note that we *cannot* use a case
   81 # here, because this file can only contain one case statement.
   82 if test "$depmode" = hp; then
   83   # HP compiler uses -M and no extra arg.
   84   gccflag=-M
   85   depmode=gcc
   86 fi
   87 
   88 if test "$depmode" = dashXmstdout; then
   89    # This is just like dashmstdout with a different argument.
   90    dashmflag=-xM
   91    depmode=dashmstdout
   92 fi
   93 
   94 cygpath_u="cygpath -u -f -"
   95 if test "$depmode" = msvcmsys; then
   96    # This is just like msvisualcpp but w/o cygpath translation.
   97    # Just convert the backslash-escaped backslashes to single forward
   98    # slashes to satisfy depend.m4
   99    cygpath_u='sed s,\\\\,/,g'
  100    depmode=msvisualcpp
  101 fi
  102 
  103 if test "$depmode" = msvc7msys; then
  104    # This is just like msvc7 but w/o cygpath translation.
  105    # Just convert the backslash-escaped backslashes to single forward
  106    # slashes to satisfy depend.m4
  107    cygpath_u='sed s,\\\\,/,g'
  108    depmode=msvc7
  109 fi
  110 
  111 if test "$depmode" = xlc; then
  112    # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
  113    gccflag=-qmakedep=gcc,-MF
  114    depmode=gcc
  115 fi
  116 
  117 case "$depmode" in
  118 gcc3)
  119 ## gcc 3 implements dependency tracking that does exactly what
  120 ## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
  121 ## it if -MD -MP comes after the -MF stuff.  Hmm.
  122 ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
  123 ## the command line argument order; so add the flags where they
  124 ## appear in depend2.am.  Note that the slowdown incurred here
  125 ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
  126   for arg
  127   do
  128     case $arg in
  129     -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
  130     *)  set fnord "$@" "$arg" ;;
  131     esac
  132     shift # fnord
  133     shift # $arg
  134   done
  135   "$@"
  136   stat=$?
  137   if test $stat -eq 0; then :
  138   else
  139     rm -f "$tmpdepfile"
  140     exit $stat
  141   fi
  142   mv "$tmpdepfile" "$depfile"
  143   ;;
  144 
  145 gcc)
  146 ## There are various ways to get dependency output from gcc.  Here's
  147 ## why we pick this rather obscure method:
  148 ## - Don't want to use -MD because we'd like the dependencies to end
  149 ##   up in a subdir.  Having to rename by hand is ugly.
  150 ##   (We might end up doing this anyway to support other compilers.)
  151 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
  152 ##   -MM, not -M (despite what the docs say).
  153 ## - Using -M directly means running the compiler twice (even worse
  154 ##   than renaming).
  155   if test -z "$gccflag"; then
  156     gccflag=-MD,
  157   fi
  158   "$@" -Wp,"$gccflag$tmpdepfile"
  159   stat=$?
  160   if test $stat -eq 0; then :
  161   else
  162     rm -f "$tmpdepfile"
  163     exit $stat
  164   fi
  165   rm -f "$depfile"
  166   echo "$object : \\" > "$depfile"
  167   alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
  168 ## The second -e expression handles DOS-style file names with drive letters.
  169   sed -e 's/^[^:]*: / /' \
  170       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
  171 ## This next piece of magic avoids the "deleted header file" problem.
  172 ## The problem is that when a header file which appears in a .P file
  173 ## is deleted, the dependency causes make to die (because there is
  174 ## typically no way to rebuild the header).  We avoid this by adding
  175 ## dummy dependencies for each header file.  Too bad gcc doesn't do
  176 ## this for us directly.
  177   tr ' ' "$nl" < "$tmpdepfile" |
  178 ## Some versions of gcc put a space before the ':'.  On the theory
  179 ## that the space means something, we add a space to the output as
  180 ## well.  hp depmode also adds that space, but also prefixes the VPATH
  181 ## to the object.  Take care to not repeat it in the output.
  182 ## Some versions of the HPUX 10.20 sed can't process this invocation
  183 ## correctly.  Breaking it into two sed invocations is a workaround.
  184     sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
  185       | sed -e 's/$/ :/' >> "$depfile"
  186   rm -f "$tmpdepfile"
  187   ;;
  188 
  189 hp)
  190   # This case exists only to let depend.m4 do its work.  It works by
  191   # looking at the text of this script.  This case will never be run,
  192   # since it is checked for above.
  193   exit 1
  194   ;;
  195 
  196 sgi)
  197   if test "$libtool" = yes; then
  198     "$@" "-Wp,-MDupdate,$tmpdepfile"
  199   else
  200     "$@" -MDupdate "$tmpdepfile"
  201   fi
  202   stat=$?
  203   if test $stat -eq 0; then :
  204   else
  205     rm -f "$tmpdepfile"
  206     exit $stat
  207   fi
  208   rm -f "$depfile"
  209 
  210   if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
  211     echo "$object : \\" > "$depfile"
  212 
  213     # Clip off the initial element (the dependent).  Don't try to be
  214     # clever and replace this with sed code, as IRIX sed won't handle
  215     # lines with more than a fixed number of characters (4096 in
  216     # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
  217     # the IRIX cc adds comments like '#:fec' to the end of the
  218     # dependency line.
  219     tr ' ' "$nl" < "$tmpdepfile" \
  220     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
  221     tr "$nl" ' ' >> "$depfile"
  222     echo >> "$depfile"
  223 
  224     # The second pass generates a dummy entry for each header file.
  225     tr ' ' "$nl" < "$tmpdepfile" \
  226    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
  227    >> "$depfile"
  228   else
  229     # The sourcefile does not contain any dependencies, so just
  230     # store a dummy comment line, to avoid errors with the Makefile
  231     # "include basename.Plo" scheme.
  232     echo "#dummy" > "$depfile"
  233   fi
  234   rm -f "$tmpdepfile"
  235   ;;
  236 
  237 xlc)
  238   # This case exists only to let depend.m4 do its work.  It works by
  239   # looking at the text of this script.  This case will never be run,
  240   # since it is checked for above.
  241   exit 1
  242   ;;
  243 
  244 aix)
  245   # The C for AIX Compiler uses -M and outputs the dependencies
  246   # in a .u file.  In older versions, this file always lives in the
  247   # current directory.  Also, the AIX compiler puts '$object:' at the
  248   # start of each line; $object doesn't have directory information.
  249   # Version 6 uses the directory in both cases.
  250   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
  251   test "x$dir" = "x$object" && dir=
  252   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
  253   if test "$libtool" = yes; then
  254     tmpdepfile1=$dir$base.u
  255     tmpdepfile2=$base.u
  256     tmpdepfile3=$dir.libs/$base.u
  257     "$@" -Wc,-M
  258   else
  259     tmpdepfile1=$dir$base.u
  260     tmpdepfile2=$dir$base.u
  261     tmpdepfile3=$dir$base.u
  262     "$@" -M
  263   fi
  264   stat=$?
  265 
  266   if test $stat -eq 0; then :
  267   else
  268     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
  269     exit $stat
  270   fi
  271 
  272   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
  273   do
  274     test -f "$tmpdepfile" && break
  275   done
  276   if test -f "$tmpdepfile"; then
  277     # Each line is of the form 'foo.o: dependent.h'.
  278     # Do two passes, one to just change these to
  279     # '$object: dependent.h' and one to simply 'dependent.h:'.
  280     sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
  281     sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
  282   else
  283     # The sourcefile does not contain any dependencies, so just
  284     # store a dummy comment line, to avoid errors with the Makefile
  285     # "include basename.Plo" scheme.
  286     echo "#dummy" > "$depfile"
  287   fi
  288   rm -f "$tmpdepfile"
  289   ;;
  290 
  291 icc)
  292   # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
  293   # However on
  294   #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
  295   # ICC 7.0 will fill foo.d with something like
  296   #    foo.o: sub/foo.c
  297   #    foo.o: sub/foo.h
  298   # which is wrong.  We want
  299   #    sub/foo.o: sub/foo.c
  300   #    sub/foo.o: sub/foo.h
  301   #    sub/foo.c:
  302   #    sub/foo.h:
  303   # ICC 7.1 will output
  304   #    foo.o: sub/foo.c sub/foo.h
  305   # and will wrap long lines using '\':
  306   #    foo.o: sub/foo.c ... \
  307   #     sub/foo.h ... \
  308   #     ...
  309   # tcc 0.9.26 (FIXME still under development at the moment of writing)
  310   # will emit a similar output, but also prepend the continuation lines
  311   # with horizontal tabulation characters.
  312   "$@" -MD -MF "$tmpdepfile"
  313   stat=$?
  314   if test $stat -eq 0; then :
  315   else
  316     rm -f "$tmpdepfile"
  317     exit $stat
  318   fi
  319   rm -f "$depfile"
  320   # Each line is of the form 'foo.o: dependent.h',
  321   # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
  322   # Do two passes, one to just change these to
  323   # '$object: dependent.h' and one to simply 'dependent.h:'.
  324   sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
  325     < "$tmpdepfile" > "$depfile"
  326   sed '
  327     s/[ '"$tab"'][ '"$tab"']*/ /g
  328     s/^ *//
  329     s/ *\\*$//
  330     s/^[^:]*: *//
  331     /^$/d
  332     /:$/d
  333     s/$/ :/
  334   ' < "$tmpdepfile" >> "$depfile"
  335   rm -f "$tmpdepfile"
  336   ;;
  337 
  338 hp2)
  339   # The "hp" stanza above does not work with aCC (C++) and HP's ia64
  340   # compilers, which have integrated preprocessors.  The correct option
  341   # to use with these is +Maked; it writes dependencies to a file named
  342   # 'foo.d', which lands next to the object file, wherever that
  343   # happens to be.
  344   # Much of this is similar to the tru64 case; see comments there.
  345   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
  346   test "x$dir" = "x$object" && dir=
  347   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
  348   if test "$libtool" = yes; then
  349     tmpdepfile1=$dir$base.d
  350     tmpdepfile2=$dir.libs/$base.d
  351     "$@" -Wc,+Maked
  352   else
  353     tmpdepfile1=$dir$base.d
  354     tmpdepfile2=$dir$base.d
  355     "$@" +Maked
  356   fi
  357   stat=$?
  358   if test $stat -eq 0; then :
  359   else
  360      rm -f "$tmpdepfile1" "$tmpdepfile2"
  361      exit $stat
  362   fi
  363 
  364   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
  365   do
  366     test -f "$tmpdepfile" && break
  367   done
  368   if test -f "$tmpdepfile"; then
  369     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
  370     # Add 'dependent.h:' lines.
  371     sed -ne '2,${
  372            s/^ *//
  373            s/ \\*$//
  374            s/$/:/
  375            p
  376          }' "$tmpdepfile" >> "$depfile"
  377   else
  378     echo "#dummy" > "$depfile"
  379   fi
  380   rm -f "$tmpdepfile" "$tmpdepfile2"
  381   ;;
  382 
  383 tru64)
  384    # The Tru64 compiler uses -MD to generate dependencies as a side
  385    # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
  386    # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
  387    # dependencies in 'foo.d' instead, so we check for that too.
  388    # Subdirectories are respected.
  389    dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
  390    test "x$dir" = "x$object" && dir=
  391    base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
  392 
  393    if test "$libtool" = yes; then
  394       # With Tru64 cc, shared objects can also be used to make a
  395       # static library.  This mechanism is used in libtool 1.4 series to
  396       # handle both shared and static libraries in a single compilation.
  397       # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
  398       #
  399       # With libtool 1.5 this exception was removed, and libtool now
  400       # generates 2 separate objects for the 2 libraries.  These two
  401       # compilations output dependencies in $dir.libs/$base.o.d and
  402       # in $dir$base.o.d.  We have to check for both files, because
  403       # one of the two compilations can be disabled.  We should prefer
  404       # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
  405       # automatically cleaned when .libs/ is deleted, while ignoring
  406       # the former would cause a distcleancheck panic.
  407       tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
  408       tmpdepfile2=$dir$base.o.d          # libtool 1.5
  409       tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
  410       tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
  411       "$@" -Wc,-MD
  412    else
  413       tmpdepfile1=$dir$base.o.d
  414       tmpdepfile2=$dir$base.d
  415       tmpdepfile3=$dir$base.d
  416       tmpdepfile4=$dir$base.d
  417       "$@" -MD
  418    fi
  419 
  420    stat=$?
  421    if test $stat -eq 0; then :
  422    else
  423       rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
  424       exit $stat
  425    fi
  426 
  427    for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
  428    do
  429      test -f "$tmpdepfile" && break
  430    done
  431    if test -f "$tmpdepfile"; then
  432       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
  433       sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
  434    else
  435       echo "#dummy" > "$depfile"
  436    fi
  437    rm -f "$tmpdepfile"
  438    ;;
  439 
  440 msvc7)
  441   if test "$libtool" = yes; then
  442     showIncludes=-Wc,-showIncludes
  443   else
  444     showIncludes=-showIncludes
  445   fi
  446   "$@" $showIncludes > "$tmpdepfile"
  447   stat=$?
  448   grep -v '^Note: including file: ' "$tmpdepfile"
  449   if test "$stat" = 0; then :
  450   else
  451     rm -f "$tmpdepfile"
  452     exit $stat
  453   fi
  454   rm -f "$depfile"
  455   echo "$object : \\" > "$depfile"
  456   # The first sed program below extracts the file names and escapes
  457   # backslashes for cygpath.  The second sed program outputs the file
  458   # name when reading, but also accumulates all include files in the
  459   # hold buffer in order to output them again at the end.  This only
  460   # works with sed implementations that can handle large buffers.
  461   sed < "$tmpdepfile" -n '
  462 /^Note: including file:  *\(.*\)/ {
  463   s//\1/
  464   s/\\/\\\\/g
  465   p
  466 }' | $cygpath_u | sort -u | sed -n '
  467 s/ /\\ /g
  468 s/\(.*\)/'"$tab"'\1 \\/p
  469 s/.\(.*\) \\/\1:/
  470 H
  471 $ {
  472   s/.*/'"$tab"'/
  473   G
  474   p
  475 }' >> "$depfile"
  476   rm -f "$tmpdepfile"
  477   ;;
  478 
  479 msvc7msys)
  480   # This case exists only to let depend.m4 do its work.  It works by
  481   # looking at the text of this script.  This case will never be run,
  482   # since it is checked for above.
  483   exit 1
  484   ;;
  485 
  486 #nosideeffect)
  487   # This comment above is used by automake to tell side-effect
  488   # dependency tracking mechanisms from slower ones.
  489 
  490 dashmstdout)
  491   # Important note: in order to support this mode, a compiler *must*
  492   # always write the preprocessed file to stdout, regardless of -o.
  493   "$@" || exit $?
  494 
  495   # Remove the call to Libtool.
  496   if test "$libtool" = yes; then
  497     while test "X$1" != 'X--mode=compile'; do
  498       shift
  499     done
  500     shift
  501   fi
  502 
  503   # Remove '-o $object'.
  504   IFS=" "
  505   for arg
  506   do
  507     case $arg in
  508     -o)
  509       shift
  510       ;;
  511     $object)
  512       shift
  513       ;;
  514     *)
  515       set fnord "$@" "$arg"
  516       shift # fnord
  517       shift # $arg
  518       ;;
  519     esac
  520   done
  521 
  522   test -z "$dashmflag" && dashmflag=-M
  523   # Require at least two characters before searching for ':'
  524   # in the target name.  This is to cope with DOS-style filenames:
  525   # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
  526   "$@" $dashmflag |
  527     sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
  528   rm -f "$depfile"
  529   cat < "$tmpdepfile" > "$depfile"
  530   tr ' ' "$nl" < "$tmpdepfile" | \
  531 ## Some versions of the HPUX 10.20 sed can't process this invocation
  532 ## correctly.  Breaking it into two sed invocations is a workaround.
  533     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
  534   rm -f "$tmpdepfile"
  535   ;;
  536 
  537 dashXmstdout)
  538   # This case only exists to satisfy depend.m4.  It is never actually
  539   # run, as this mode is specially recognized in the preamble.
  540   exit 1
  541   ;;
  542 
  543 makedepend)
  544   "$@" || exit $?
  545   # Remove any Libtool call
  546   if test "$libtool" = yes; then
  547     while test "X$1" != 'X--mode=compile'; do
  548       shift
  549     done
  550     shift
  551   fi
  552   # X makedepend
  553   shift
  554   cleared=no eat=no
  555   for arg
  556   do
  557     case $cleared in
  558     no)
  559       set ""; shift
  560       cleared=yes ;;
  561     esac
  562     if test $eat = yes; then
  563       eat=no
  564       continue
  565     fi
  566     case "$arg" in
  567     -D*|-I*)
  568       set fnord "$@" "$arg"; shift ;;
  569     # Strip any option that makedepend may not understand.  Remove
  570     # the object too, otherwise makedepend will parse it as a source file.
  571     -arch)
  572       eat=yes ;;
  573     -*|$object)
  574       ;;
  575     *)
  576       set fnord "$@" "$arg"; shift ;;
  577     esac
  578   done
  579   obj_suffix=`echo "$object" | sed 's/^.*\././'`
  580   touch "$tmpdepfile"
  581   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
  582   rm -f "$depfile"
  583   # makedepend may prepend the VPATH from the source file name to the object.
  584   # No need to regex-escape $object, excess matching of '.' is harmless.
  585   sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
  586   sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
  587 ## Some versions of the HPUX 10.20 sed can't process this invocation
  588 ## correctly.  Breaking it into two sed invocations is a workaround.
  589     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
  590   rm -f "$tmpdepfile" "$tmpdepfile".bak
  591   ;;
  592 
  593 cpp)
  594   # Important note: in order to support this mode, a compiler *must*
  595   # always write the preprocessed file to stdout.
  596   "$@" || exit $?
  597 
  598   # Remove the call to Libtool.
  599   if test "$libtool" = yes; then
  600     while test "X$1" != 'X--mode=compile'; do
  601       shift
  602     done
  603     shift
  604   fi
  605 
  606   # Remove '-o $object'.
  607   IFS=" "
  608   for arg
  609   do
  610     case $arg in
  611     -o)
  612       shift
  613       ;;
  614     $object)
  615       shift
  616       ;;
  617     *)
  618       set fnord "$@" "$arg"
  619       shift # fnord
  620       shift # $arg
  621       ;;
  622     esac
  623   done
  624 
  625   "$@" -E |
  626     sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
  627        -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
  628     sed '$ s: \\$::' > "$tmpdepfile"
  629   rm -f "$depfile"
  630   echo "$object : \\" > "$depfile"
  631   cat < "$tmpdepfile" >> "$depfile"
  632   sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
  633   rm -f "$tmpdepfile"
  634   ;;
  635 
  636 msvisualcpp)
  637   # Important note: in order to support this mode, a compiler *must*
  638   # always write the preprocessed file to stdout.
  639   "$@" || exit $?
  640 
  641   # Remove the call to Libtool.
  642   if test "$libtool" = yes; then
  643     while test "X$1" != 'X--mode=compile'; do
  644       shift
  645     done
  646     shift
  647   fi
  648 
  649   IFS=" "
  650   for arg
  651   do
  652     case "$arg" in
  653     -o)
  654       shift
  655       ;;
  656     $object)
  657       shift
  658       ;;
  659     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
  660     set fnord "$@"
  661     shift
  662     shift
  663     ;;
  664     *)
  665     set fnord "$@" "$arg"
  666     shift
  667     shift
  668     ;;
  669     esac
  670   done
  671   "$@" -E 2>/dev/null |
  672   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
  673   rm -f "$depfile"
  674   echo "$object : \\" > "$depfile"
  675   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
  676   echo "$tab" >> "$depfile"
  677   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
  678   rm -f "$tmpdepfile"
  679   ;;
  680 
  681 msvcmsys)
  682   # This case exists only to let depend.m4 do its work.  It works by
  683   # looking at the text of this script.  This case will never be run,
  684   # since it is checked for above.
  685   exit 1
  686   ;;
  687 
  688 none)
  689   exec "$@"
  690   ;;
  691 
  692 *)
  693   echo "Unknown depmode $depmode" 1>&2
  694   exit 1
  695   ;;
  696 esac
  697 
  698 exit 0
  699 
  700 # Local Variables:
  701 # mode: shell-script
  702 # sh-indentation: 2
  703 # eval: (add-hook 'write-file-hooks 'time-stamp)
  704 # time-stamp-start: "scriptversion="
  705 # time-stamp-format: "%:y-%02m-%02d.%02H"
  706 # time-stamp-time-zone: "UTC"
  707 # time-stamp-end: "; # UTC"
  708 # End: