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