]> git.cworth.org Git - tar/blob - build-aux/depcomp
upstream: Fix extraction of device nodes.
[tar] / build-aux / depcomp
1 #! /bin/sh
2 # depcomp - compile a program generating dependencies as side-effects
3
4 scriptversion=2010-10-07.20; # UTC
5
6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010
7 # 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 outputing 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 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 if 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
103 fi
104
105 case "$depmode" in
106 gcc3)
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
133 gcc)
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.
170 ## Some versions of the HPUX 10.20 sed can't process this invocation
171 ## correctly.  Breaking it into two sed invocations is a workaround.
172     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
173   rm -f "$tmpdepfile"
174   ;;
175
176 hp)
177   # This case exists only to let depend.m4 do its work.  It works by
178   # looking at the text of this script.  This case will never be run,
179   # since it is checked for above.
180   exit 1
181   ;;
182
183 sgi)
184   if test "$libtool" = yes; then
185     "$@" "-Wp,-MDupdate,$tmpdepfile"
186   else
187     "$@" -MDupdate "$tmpdepfile"
188   fi
189   stat=$?
190   if test $stat -eq 0; then :
191   else
192     rm -f "$tmpdepfile"
193     exit $stat
194   fi
195   rm -f "$depfile"
196
197   if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
198     echo "$object : \\" > "$depfile"
199
200     # Clip off the initial element (the dependent).  Don't try to be
201     # clever and replace this with sed code, as IRIX sed won't handle
202     # lines with more than a fixed number of characters (4096 in
203     # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
204     # the IRIX cc adds comments like `#:fec' to the end of the
205     # dependency line.
206     tr ' ' '
207 ' < "$tmpdepfile" \
208     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
209     tr '
210 ' ' ' >> "$depfile"
211     echo >> "$depfile"
212
213     # The second pass generates a dummy entry for each header file.
214     tr ' ' '
215 ' < "$tmpdepfile" \
216    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
217    >> "$depfile"
218   else
219     # The sourcefile does not contain any dependencies, so just
220     # store a dummy comment line, to avoid errors with the Makefile
221     # "include basename.Plo" scheme.
222     echo "#dummy" > "$depfile"
223   fi
224   rm -f "$tmpdepfile"
225   ;;
226
227 aix)
228   # The C for AIX Compiler uses -M and outputs the dependencies
229   # in a .u file.  In older versions, this file always lives in the
230   # current directory.  Also, the AIX compiler puts `$object:' at the
231   # start of each line; $object doesn't have directory information.
232   # Version 6 uses the directory in both cases.
233   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
234   test "x$dir" = "x$object" && dir=
235   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
236   if test "$libtool" = yes; then
237     tmpdepfile1=$dir$base.u
238     tmpdepfile2=$base.u
239     tmpdepfile3=$dir.libs/$base.u
240     "$@" -Wc,-M
241   else
242     tmpdepfile1=$dir$base.u
243     tmpdepfile2=$dir$base.u
244     tmpdepfile3=$dir$base.u
245     "$@" -M
246   fi
247   stat=$?
248
249   if test $stat -eq 0; then :
250   else
251     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
252     exit $stat
253   fi
254
255   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
256   do
257     test -f "$tmpdepfile" && break
258   done
259   if test -f "$tmpdepfile"; then
260     # Each line is of the form `foo.o: dependent.h'.
261     # Do two passes, one to just change these to
262     # `$object: dependent.h' and one to simply `dependent.h:'.
263     sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
264     # That's a tab and a space in the [].
265     sed -e 's,^.*\.[a-z]*:[      ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
266   else
267     # The sourcefile does not contain any dependencies, so just
268     # store a dummy comment line, to avoid errors with the Makefile
269     # "include basename.Plo" scheme.
270     echo "#dummy" > "$depfile"
271   fi
272   rm -f "$tmpdepfile"
273   ;;
274
275 icc)
276   # Intel's C compiler understands `-MD -MF file'.  However on
277   #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
278   # ICC 7.0 will fill foo.d with something like
279   #    foo.o: sub/foo.c
280   #    foo.o: sub/foo.h
281   # which is wrong.  We want:
282   #    sub/foo.o: sub/foo.c
283   #    sub/foo.o: sub/foo.h
284   #    sub/foo.c:
285   #    sub/foo.h:
286   # ICC 7.1 will output
287   #    foo.o: sub/foo.c sub/foo.h
288   # and will wrap long lines using \ :
289   #    foo.o: sub/foo.c ... \
290   #     sub/foo.h ... \
291   #     ...
292
293   "$@" -MD -MF "$tmpdepfile"
294   stat=$?
295   if test $stat -eq 0; then :
296   else
297     rm -f "$tmpdepfile"
298     exit $stat
299   fi
300   rm -f "$depfile"
301   # Each line is of the form `foo.o: dependent.h',
302   # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
303   # Do two passes, one to just change these to
304   # `$object: dependent.h' and one to simply `dependent.h:'.
305   sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
306   # Some versions of the HPUX 10.20 sed can't process this invocation
307   # correctly.  Breaking it into two sed invocations is a workaround.
308   sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
309     sed -e 's/$/ :/' >> "$depfile"
310   rm -f "$tmpdepfile"
311   ;;
312
313 hp2)
314   # The "hp" stanza above does not work with aCC (C++) and HP's ia64
315   # compilers, which have integrated preprocessors.  The correct option
316   # to use with these is +Maked; it writes dependencies to a file named
317   # 'foo.d', which lands next to the object file, wherever that
318   # happens to be.
319   # Much of this is similar to the tru64 case; see comments there.
320   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
321   test "x$dir" = "x$object" && dir=
322   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
323   if test "$libtool" = yes; then
324     tmpdepfile1=$dir$base.d
325     tmpdepfile2=$dir.libs/$base.d
326     "$@" -Wc,+Maked
327   else
328     tmpdepfile1=$dir$base.d
329     tmpdepfile2=$dir$base.d
330     "$@" +Maked
331   fi
332   stat=$?
333   if test $stat -eq 0; then :
334   else
335      rm -f "$tmpdepfile1" "$tmpdepfile2"
336      exit $stat
337   fi
338
339   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
340   do
341     test -f "$tmpdepfile" && break
342   done
343   if test -f "$tmpdepfile"; then
344     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
345     # Add `dependent.h:' lines.
346     sed -ne '2,${
347                s/^ *//
348                s/ \\*$//
349                s/$/:/
350                p
351              }' "$tmpdepfile" >> "$depfile"
352   else
353     echo "#dummy" > "$depfile"
354   fi
355   rm -f "$tmpdepfile" "$tmpdepfile2"
356   ;;
357
358 tru64)
359    # The Tru64 compiler uses -MD to generate dependencies as a side
360    # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
361    # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
362    # dependencies in `foo.d' instead, so we check for that too.
363    # Subdirectories are respected.
364    dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
365    test "x$dir" = "x$object" && dir=
366    base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
367
368    if test "$libtool" = yes; then
369       # With Tru64 cc, shared objects can also be used to make a
370       # static library.  This mechanism is used in libtool 1.4 series to
371       # handle both shared and static libraries in a single compilation.
372       # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
373       #
374       # With libtool 1.5 this exception was removed, and libtool now
375       # generates 2 separate objects for the 2 libraries.  These two
376       # compilations output dependencies in $dir.libs/$base.o.d and
377       # in $dir$base.o.d.  We have to check for both files, because
378       # one of the two compilations can be disabled.  We should prefer
379       # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
380       # automatically cleaned when .libs/ is deleted, while ignoring
381       # the former would cause a distcleancheck panic.
382       tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
383       tmpdepfile2=$dir$base.o.d          # libtool 1.5
384       tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
385       tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
386       "$@" -Wc,-MD
387    else
388       tmpdepfile1=$dir$base.o.d
389       tmpdepfile2=$dir$base.d
390       tmpdepfile3=$dir$base.d
391       tmpdepfile4=$dir$base.d
392       "$@" -MD
393    fi
394
395    stat=$?
396    if test $stat -eq 0; then :
397    else
398       rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
399       exit $stat
400    fi
401
402    for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
403    do
404      test -f "$tmpdepfile" && break
405    done
406    if test -f "$tmpdepfile"; then
407       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
408       # That's a tab and a space in the [].
409       sed -e 's,^.*\.[a-z]*:[    ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
410    else
411       echo "#dummy" > "$depfile"
412    fi
413    rm -f "$tmpdepfile"
414    ;;
415
416 msvc7)
417   if test "$libtool" = yes; then
418     showIncludes=-Wc,-showIncludes
419   else
420     showIncludes=-showIncludes
421   fi
422   "$@" $showIncludes > "$tmpdepfile"
423   stat=$?
424   grep -v '^Note: including file: ' "$tmpdepfile"
425   if test "$stat" = 0; then :
426   else
427     rm -f "$tmpdepfile"
428     exit $stat
429   fi
430   rm -f "$depfile"
431   echo "$object : \\" > "$depfile"
432   # The first sed program below extracts the file names and escapes
433   # backslashes for cygpath.  The second sed program outputs the file
434   # name when reading, but also accumulates all include files in the
435   # hold buffer in order to output them again at the end.  This only
436   # works with sed implementations that can handle large buffers.
437   sed < "$tmpdepfile" -n '
438 /^Note: including file:  *\(.*\)/ {
439   s//\1/
440   s/\\/\\\\/g
441   p
442 }' | $cygpath_u | sort -u | sed -n '
443 s/ /\\ /g
444 s/\(.*\)/       \1 \\/p
445 s/.\(.*\) \\/\1:/
446 H
447 $ {
448   s/.*/ /
449   G
450   p
451 }' >> "$depfile"
452   rm -f "$tmpdepfile"
453   ;;
454
455 msvc7msys)
456   # This case exists only to let depend.m4 do its work.  It works by
457   # looking at the text of this script.  This case will never be run,
458   # since it is checked for above.
459   exit 1
460   ;;
461
462 #nosideeffect)
463   # This comment above is used by automake to tell side-effect
464   # dependency tracking mechanisms from slower ones.
465
466 dashmstdout)
467   # Important note: in order to support this mode, a compiler *must*
468   # always write the preprocessed file to stdout, regardless of -o.
469   "$@" || exit $?
470
471   # Remove the call to Libtool.
472   if test "$libtool" = yes; then
473     while test "X$1" != 'X--mode=compile'; do
474       shift
475     done
476     shift
477   fi
478
479   # Remove `-o $object'.
480   IFS=" "
481   for arg
482   do
483     case $arg in
484     -o)
485       shift
486       ;;
487     $object)
488       shift
489       ;;
490     *)
491       set fnord "$@" "$arg"
492       shift # fnord
493       shift # $arg
494       ;;
495     esac
496   done
497
498   test -z "$dashmflag" && dashmflag=-M
499   # Require at least two characters before searching for `:'
500   # in the target name.  This is to cope with DOS-style filenames:
501   # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
502   "$@" $dashmflag |
503     sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
504   rm -f "$depfile"
505   cat < "$tmpdepfile" > "$depfile"
506   tr ' ' '
507 ' < "$tmpdepfile" | \
508 ## Some versions of the HPUX 10.20 sed can't process this invocation
509 ## correctly.  Breaking it into two sed invocations is a workaround.
510     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
511   rm -f "$tmpdepfile"
512   ;;
513
514 dashXmstdout)
515   # This case only exists to satisfy depend.m4.  It is never actually
516   # run, as this mode is specially recognized in the preamble.
517   exit 1
518   ;;
519
520 makedepend)
521   "$@" || exit $?
522   # Remove any Libtool call
523   if test "$libtool" = yes; then
524     while test "X$1" != 'X--mode=compile'; do
525       shift
526     done
527     shift
528   fi
529   # X makedepend
530   shift
531   cleared=no eat=no
532   for arg
533   do
534     case $cleared in
535     no)
536       set ""; shift
537       cleared=yes ;;
538     esac
539     if test $eat = yes; then
540       eat=no
541       continue
542     fi
543     case "$arg" in
544     -D*|-I*)
545       set fnord "$@" "$arg"; shift ;;
546     # Strip any option that makedepend may not understand.  Remove
547     # the object too, otherwise makedepend will parse it as a source file.
548     -arch)
549       eat=yes ;;
550     -*|$object)
551       ;;
552     *)
553       set fnord "$@" "$arg"; shift ;;
554     esac
555   done
556   obj_suffix=`echo "$object" | sed 's/^.*\././'`
557   touch "$tmpdepfile"
558   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
559   rm -f "$depfile"
560   cat < "$tmpdepfile" > "$depfile"
561   sed '1,2d' "$tmpdepfile" | tr ' ' '
562 ' | \
563 ## Some versions of the HPUX 10.20 sed can't process this invocation
564 ## correctly.  Breaking it into two sed invocations is a workaround.
565     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
566   rm -f "$tmpdepfile" "$tmpdepfile".bak
567   ;;
568
569 cpp)
570   # Important note: in order to support this mode, a compiler *must*
571   # always write the preprocessed file to stdout.
572   "$@" || exit $?
573
574   # Remove the call to Libtool.
575   if test "$libtool" = yes; then
576     while test "X$1" != 'X--mode=compile'; do
577       shift
578     done
579     shift
580   fi
581
582   # Remove `-o $object'.
583   IFS=" "
584   for arg
585   do
586     case $arg in
587     -o)
588       shift
589       ;;
590     $object)
591       shift
592       ;;
593     *)
594       set fnord "$@" "$arg"
595       shift # fnord
596       shift # $arg
597       ;;
598     esac
599   done
600
601   "$@" -E |
602     sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
603        -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
604     sed '$ s: \\$::' > "$tmpdepfile"
605   rm -f "$depfile"
606   echo "$object : \\" > "$depfile"
607   cat < "$tmpdepfile" >> "$depfile"
608   sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
609   rm -f "$tmpdepfile"
610   ;;
611
612 msvisualcpp)
613   # Important note: in order to support this mode, a compiler *must*
614   # always write the preprocessed file to stdout.
615   "$@" || exit $?
616
617   # Remove the call to Libtool.
618   if test "$libtool" = yes; then
619     while test "X$1" != 'X--mode=compile'; do
620       shift
621     done
622     shift
623   fi
624
625   IFS=" "
626   for arg
627   do
628     case "$arg" in
629     -o)
630       shift
631       ;;
632     $object)
633       shift
634       ;;
635     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
636         set fnord "$@"
637         shift
638         shift
639         ;;
640     *)
641         set fnord "$@" "$arg"
642         shift
643         shift
644         ;;
645     esac
646   done
647   "$@" -E 2>/dev/null |
648   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
649   rm -f "$depfile"
650   echo "$object : \\" > "$depfile"
651   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::      \1 \\:p' >> "$depfile"
652   echo "        " >> "$depfile"
653   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
654   rm -f "$tmpdepfile"
655   ;;
656
657 msvcmsys)
658   # This case exists only to let depend.m4 do its work.  It works by
659   # looking at the text of this script.  This case will never be run,
660   # since it is checked for above.
661   exit 1
662   ;;
663
664 none)
665   exec "$@"
666   ;;
667
668 *)
669   echo "Unknown depmode $depmode" 1>&2
670   exit 1
671   ;;
672 esac
673
674 exit 0
675
676 # Local Variables:
677 # mode: shell-script
678 # sh-indentation: 2
679 # eval: (add-hook 'write-file-hooks 'time-stamp)
680 # time-stamp-start: "scriptversion="
681 # time-stamp-format: "%:y-%02m-%02d.%02H"
682 # time-stamp-time-zone: "UTC"
683 # time-stamp-end: "; # UTC"
684 # End: