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