15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#! /bin/sh
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# depcomp - compile a program generating dependencies as side-effects
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)scriptversion=2009-04-28.21; # UTC
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Software Foundation, Inc.
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# This program is free software; you can redistribute it and/or modify
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# it under the terms of the GNU General Public License as published by
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# the Free Software Foundation; either version 2, or (at your option)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# any later version.
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# This program is distributed in the hope that it will be useful,
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# but WITHOUT ANY WARRANTY; without even the implied warranty of
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# GNU General Public License for more details.
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# You should have received a copy of the GNU General Public License
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# along with this program.  If not, see <http://www.gnu.org/licenses/>.
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# As a special exception to the GNU General Public License, if you
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# distribute this file as part of a program that contains a
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# configuration script generated by Autoconf, you may include it under
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# the same distribution terms that you use for the rest of that program.
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)case $1 in
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  '')
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)     exit 1;
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)     ;;
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  -h | --h*)
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    cat <<\EOF
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Usage: depcomp [--help] [--version] PROGRAM [ARGS]
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Run PROGRAMS ARGS to compile a file, generating dependencies
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)as side-effects.
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Environment variables:
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  depmode     Dependency tracking mode.
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  source      Source file read by `PROGRAMS ARGS'.
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  object      Object file output by `PROGRAMS ARGS'.
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DEPDIR      directory where to store dependencies.
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  depfile     Dependency file to output.
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  tmpdepfile  Temporary file to use when outputing dependencies.
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  libtool     Whether libtool is used (yes/no).
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Report bugs to <bug-automake@gnu.org>.
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EOF
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    exit $?
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  -v | --v*)
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo "depcomp $scriptversion"
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    exit $?
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)esac
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)if test -z "$depmode" || test -z "$source" || test -z "$object"; then
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  echo "depcomp: Variables source, object and depmode must be set" 1>&2
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  exit 1
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)fi
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)depfile=${depfile-`echo "$object" |
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)rm -f "$tmpdepfile"
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Some modes work just like other modes, but use different flags.  We
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# parameterize here, but still list the modes in the big case below,
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# to make depend.m4 easier to write.  Note that we *cannot* use a case
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# here, because this file can only contain one case statement.
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)if test "$depmode" = hp; then
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # HP compiler uses -M and no extra arg.
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  gccflag=-M
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  depmode=gcc
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)fi
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)if test "$depmode" = dashXmstdout; then
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   # This is just like dashmstdout with a different argument.
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   dashmflag=-xM
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   depmode=dashmstdout
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)fi
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cygpath_u="cygpath -u -f -"
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)if test "$depmode" = msvcmsys; then
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   # This is just like msvisualcpp but w/o cygpath translation.
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   # Just convert the backslash-escaped backslashes to single forward
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   # slashes to satisfy depend.m4
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   cygpath_u="sed s,\\\\\\\\,/,g"
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   depmode=msvisualcpp
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)fi
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)case "$depmode" in
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)gcc3)
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## gcc 3 implements dependency tracking that does exactly what
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## it if -MD -MP comes after the -MF stuff.  Hmm.
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## Unfortunately, FreeBSD c89 acceptance of flags depends upon
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## the command line argument order; so add the flags where they
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## appear in depend2.am.  Note that the slowdown incurred here
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## affects only configure: in makefiles, %FASTDEP% shortcuts this.
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  for arg
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  do
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case $arg in
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    *)  set fnord "$@" "$arg" ;;
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    esac
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    shift # fnord
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    shift # $arg
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  done
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  "$@"
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  stat=$?
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test $stat -eq 0; then :
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  else
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    rm -f "$tmpdepfile"
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    exit $stat
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  mv "$tmpdepfile" "$depfile"
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)gcc)
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## There are various ways to get dependency output from gcc.  Here's
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## why we pick this rather obscure method:
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## - Don't want to use -MD because we'd like the dependencies to end
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)##   up in a subdir.  Having to rename by hand is ugly.
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)##   (We might end up doing this anyway to support other compilers.)
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)##   -MM, not -M (despite what the docs say).
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## - Using -M directly means running the compiler twice (even worse
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)##   than renaming).
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test -z "$gccflag"; then
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    gccflag=-MD,
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  "$@" -Wp,"$gccflag$tmpdepfile"
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  stat=$?
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test $stat -eq 0; then :
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  else
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    rm -f "$tmpdepfile"
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    exit $stat
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$depfile"
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  echo "$object : \\" > "$depfile"
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## The second -e expression handles DOS-style file names with drive letters.
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  sed -e 's/^[^:]*: / /' \
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## This next piece of magic avoids the `deleted header file' problem.
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## The problem is that when a header file which appears in a .P file
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## is deleted, the dependency causes make to die (because there is
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## typically no way to rebuild the header).  We avoid this by adding
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## dummy dependencies for each header file.  Too bad gcc doesn't do
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## this for us directly.
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  tr ' ' '
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)' < "$tmpdepfile" |
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## Some versions of gcc put a space before the `:'.  On the theory
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## that the space means something, we add a space to the output as
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## well.
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## Some versions of the HPUX 10.20 sed can't process this invocation
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## correctly.  Breaking it into two sed invocations is a workaround.
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$tmpdepfile"
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)hp)
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # This case exists only to let depend.m4 do its work.  It works by
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # looking at the text of this script.  This case will never be run,
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # since it is checked for above.
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  exit 1
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)sgi)
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test "$libtool" = yes; then
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "$@" "-Wp,-MDupdate,$tmpdepfile"
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  else
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "$@" -MDupdate "$tmpdepfile"
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  stat=$?
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test $stat -eq 0; then :
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  else
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    rm -f "$tmpdepfile"
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    exit $stat
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$depfile"
1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo "$object : \\" > "$depfile"
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # Clip off the initial element (the dependent).  Don't try to be
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # clever and replace this with sed code, as IRIX sed won't handle
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # lines with more than a fixed number of characters (4096 in
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # the IRIX cc adds comments like `#:fec' to the end of the
1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # dependency line.
1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tr ' ' '
1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)' < "$tmpdepfile" \
2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tr '
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)' ' ' >> "$depfile"
2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo >> "$depfile"
2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # The second pass generates a dummy entry for each header file.
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tr ' ' '
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)' < "$tmpdepfile" \
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   >> "$depfile"
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  else
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # The sourcefile does not contain any dependencies, so just
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # store a dummy comment line, to avoid errors with the Makefile
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # "include basename.Plo" scheme.
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo "#dummy" > "$depfile"
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$tmpdepfile"
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)aix)
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # The C for AIX Compiler uses -M and outputs the dependencies
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # in a .u file.  In older versions, this file always lives in the
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # current directory.  Also, the AIX compiler puts `$object:' at the
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # start of each line; $object doesn't have directory information.
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Version 6 uses the directory in both cases.
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  test "x$dir" = "x$object" && dir=
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test "$libtool" = yes; then
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tmpdepfile1=$dir$base.u
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tmpdepfile2=$base.u
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tmpdepfile3=$dir.libs/$base.u
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "$@" -Wc,-M
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  else
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tmpdepfile1=$dir$base.u
2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tmpdepfile2=$dir$base.u
2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tmpdepfile3=$dir$base.u
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "$@" -M
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  stat=$?
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test $stat -eq 0; then :
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  else
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    exit $stat
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  do
2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test -f "$tmpdepfile" && break
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  done
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test -f "$tmpdepfile"; then
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # Each line is of the form `foo.o: dependent.h'.
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # Do two passes, one to just change these to
2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # `$object: dependent.h' and one to simply `dependent.h:'.
2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # That's a tab and a space in the [].
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  else
2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # The sourcefile does not contain any dependencies, so just
2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # store a dummy comment line, to avoid errors with the Makefile
2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # "include basename.Plo" scheme.
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo "#dummy" > "$depfile"
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$tmpdepfile"
2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)icc)
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Intel's C compiler understands `-MD -MF file'.  However on
2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # ICC 7.0 will fill foo.d with something like
2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  #    foo.o: sub/foo.c
2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  #    foo.o: sub/foo.h
2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # which is wrong.  We want:
2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  #    sub/foo.o: sub/foo.c
2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  #    sub/foo.o: sub/foo.h
2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  #    sub/foo.c:
2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  #    sub/foo.h:
2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # ICC 7.1 will output
2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  #    foo.o: sub/foo.c sub/foo.h
2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # and will wrap long lines using \ :
2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  #    foo.o: sub/foo.c ... \
2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  #     sub/foo.h ... \
2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  #     ...
2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  "$@" -MD -MF "$tmpdepfile"
2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  stat=$?
2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test $stat -eq 0; then :
2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  else
2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    rm -f "$tmpdepfile"
2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    exit $stat
2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$depfile"
2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Each line is of the form `foo.o: dependent.h',
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Do two passes, one to just change these to
2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # `$object: dependent.h' and one to simply `dependent.h:'.
2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Some versions of the HPUX 10.20 sed can't process this invocation
2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # correctly.  Breaking it into two sed invocations is a workaround.
3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    sed -e 's/$/ :/' >> "$depfile"
3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$tmpdepfile"
3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)hp2)
3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # compilers, which have integrated preprocessors.  The correct option
3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # to use with these is +Maked; it writes dependencies to a file named
3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # 'foo.d', which lands next to the object file, wherever that
3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # happens to be.
3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Much of this is similar to the tru64 case; see comments there.
3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  test "x$dir" = "x$object" && dir=
3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test "$libtool" = yes; then
3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tmpdepfile1=$dir$base.d
3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tmpdepfile2=$dir.libs/$base.d
3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "$@" -Wc,+Maked
3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  else
3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tmpdepfile1=$dir$base.d
3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tmpdepfile2=$dir$base.d
3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "$@" +Maked
3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  stat=$?
3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test $stat -eq 0; then :
3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  else
3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)     rm -f "$tmpdepfile1" "$tmpdepfile2"
3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)     exit $stat
3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  do
3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test -f "$tmpdepfile" && break
3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  done
3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test -f "$tmpdepfile"; then
3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # Add `dependent.h:' lines.
3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    sed -ne '2,${
3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	       s/^ *//
3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	       s/ \\*$//
3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	       s/$/:/
3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	       p
3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	     }' "$tmpdepfile" >> "$depfile"
3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  else
3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo "#dummy" > "$depfile"
3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$tmpdepfile" "$tmpdepfile2"
3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)tru64)
3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   # The Tru64 compiler uses -MD to generate dependencies as a side
3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   # dependencies in `foo.d' instead, so we check for that too.
3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   # Subdirectories are respected.
3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   test "x$dir" = "x$object" && dir=
3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   if test "$libtool" = yes; then
3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      # With Tru64 cc, shared objects can also be used to make a
3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      # static library.  This mechanism is used in libtool 1.4 series to
3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      # handle both shared and static libraries in a single compilation.
3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      #
3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      # With libtool 1.5 this exception was removed, and libtool now
3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      # generates 2 separate objects for the 2 libraries.  These two
3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      # compilations output dependencies in $dir.libs/$base.o.d and
3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      # in $dir$base.o.d.  We have to check for both files, because
3705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      # one of the two compilations can be disabled.  We should prefer
3715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      # automatically cleaned when .libs/ is deleted, while ignoring
3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      # the former would cause a distcleancheck panic.
3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      tmpdepfile2=$dir$base.o.d          # libtool 1.5
3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      "$@" -Wc,-MD
3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   else
3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      tmpdepfile1=$dir$base.o.d
3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      tmpdepfile2=$dir$base.d
3825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      tmpdepfile3=$dir$base.d
3835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      tmpdepfile4=$dir$base.d
3845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      "$@" -MD
3855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   fi
3865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   stat=$?
3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   if test $stat -eq 0; then :
3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   else
3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      exit $stat
3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   fi
3935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   do
3965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)     test -f "$tmpdepfile" && break
3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   done
3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   if test -f "$tmpdepfile"; then
3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      # That's a tab and a space in the [].
4015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   else
4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      echo "#dummy" > "$depfile"
4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   fi
4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   rm -f "$tmpdepfile"
4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   ;;
4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#nosideeffect)
4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # This comment above is used by automake to tell side-effect
4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # dependency tracking mechanisms from slower ones.
4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)dashmstdout)
4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Important note: in order to support this mode, a compiler *must*
4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # always write the preprocessed file to stdout, regardless of -o.
4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  "$@" || exit $?
4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Remove the call to Libtool.
4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test "$libtool" = yes; then
4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    while test "X$1" != 'X--mode=compile'; do
4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift
4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    done
4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    shift
4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Remove `-o $object'.
4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IFS=" "
4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  for arg
4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  do
4295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case $arg in
4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    -o)
4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift
4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ;;
4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    $object)
4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift
4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ;;
4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    *)
4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      set fnord "$@" "$arg"
4385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift # fnord
4395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift # $arg
4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ;;
4415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    esac
4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  done
4435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  test -z "$dashmflag" && dashmflag=-M
4455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Require at least two characters before searching for `:'
4465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # in the target name.  This is to cope with DOS-style filenames:
4475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
4485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  "$@" $dashmflag |
4495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
4505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$depfile"
4515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  cat < "$tmpdepfile" > "$depfile"
4525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  tr ' ' '
4535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)' < "$tmpdepfile" | \
4545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## Some versions of the HPUX 10.20 sed can't process this invocation
4555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## correctly.  Breaking it into two sed invocations is a workaround.
4565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$tmpdepfile"
4585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
4595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)dashXmstdout)
4615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # This case only exists to satisfy depend.m4.  It is never actually
4625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # run, as this mode is specially recognized in the preamble.
4635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  exit 1
4645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
4655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)makedepend)
4675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  "$@" || exit $?
4685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Remove any Libtool call
4695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test "$libtool" = yes; then
4705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    while test "X$1" != 'X--mode=compile'; do
4715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift
4725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    done
4735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    shift
4745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
4755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # X makedepend
4765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  shift
4775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  cleared=no eat=no
4785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  for arg
4795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  do
4805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case $cleared in
4815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    no)
4825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      set ""; shift
4835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      cleared=yes ;;
4845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    esac
4855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if test $eat = yes; then
4865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      eat=no
4875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      continue
4885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
4895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case "$arg" in
4905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    -D*|-I*)
4915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      set fnord "$@" "$arg"; shift ;;
4925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # Strip any option that makedepend may not understand.  Remove
4935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # the object too, otherwise makedepend will parse it as a source file.
4945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    -arch)
4955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      eat=yes ;;
4965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    -*|$object)
4975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ;;
4985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    *)
4995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      set fnord "$@" "$arg"; shift ;;
5005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    esac
5015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  done
5025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  obj_suffix=`echo "$object" | sed 's/^.*\././'`
5035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  touch "$tmpdepfile"
5045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
5055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$depfile"
5065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  cat < "$tmpdepfile" > "$depfile"
5075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  sed '1,2d' "$tmpdepfile" | tr ' ' '
5085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)' | \
5095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## Some versions of the HPUX 10.20 sed can't process this invocation
5105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)## correctly.  Breaking it into two sed invocations is a workaround.
5115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
5125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$tmpdepfile" "$tmpdepfile".bak
5135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
5145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cpp)
5165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Important note: in order to support this mode, a compiler *must*
5175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # always write the preprocessed file to stdout.
5185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  "$@" || exit $?
5195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Remove the call to Libtool.
5215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test "$libtool" = yes; then
5225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    while test "X$1" != 'X--mode=compile'; do
5235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift
5245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    done
5255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    shift
5265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
5275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Remove `-o $object'.
5295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IFS=" "
5305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  for arg
5315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  do
5325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case $arg in
5335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    -o)
5345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift
5355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ;;
5365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    $object)
5375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift
5385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ;;
5395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    *)
5405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      set fnord "$@" "$arg"
5415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift # fnord
5425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift # $arg
5435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ;;
5445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    esac
5455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  done
5465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  "$@" -E |
5485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
5495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
5505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    sed '$ s: \\$::' > "$tmpdepfile"
5515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$depfile"
5525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  echo "$object : \\" > "$depfile"
5535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  cat < "$tmpdepfile" >> "$depfile"
5545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
5555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$tmpdepfile"
5565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
5575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)msvisualcpp)
5595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Important note: in order to support this mode, a compiler *must*
5605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # always write the preprocessed file to stdout.
5615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  "$@" || exit $?
5625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Remove the call to Libtool.
5645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test "$libtool" = yes; then
5655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    while test "X$1" != 'X--mode=compile'; do
5665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift
5675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    done
5685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    shift
5695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
5705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IFS=" "
5725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  for arg
5735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  do
5745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case "$arg" in
5755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    -o)
5765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift
5775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ;;
5785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    $object)
5795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shift
5805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ;;
5815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
5825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	set fnord "$@"
5835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shift
5845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shift
5855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	;;
5865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    *)
5875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	set fnord "$@" "$arg"
5885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shift
5895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shift
5905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	;;
5915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    esac
5925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  done
5935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  "$@" -E 2>/dev/null |
5945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
5955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$depfile"
5965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  echo "$object : \\" > "$depfile"
5975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
5985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  echo "	" >> "$depfile"
5995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
6005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  rm -f "$tmpdepfile"
6015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
6025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)msvcmsys)
6045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # This case exists only to let depend.m4 do its work.  It works by
6055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # looking at the text of this script.  This case will never be run,
6065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # since it is checked for above.
6075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  exit 1
6085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
6095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)none)
6115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  exec "$@"
6125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
6135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*)
6155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  echo "Unknown depmode $depmode" 1>&2
6165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  exit 1
6175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
6185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)esac
6195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)exit 0
6215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Local Variables:
6235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# mode: shell-script
6245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# sh-indentation: 2
6255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# eval: (add-hook 'write-file-hooks 'time-stamp)
6265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# time-stamp-start: "scriptversion="
6275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# time-stamp-format: "%:y-%02m-%02d.%02H"
6285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# time-stamp-time-zone: "UTC"
6295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# time-stamp-end: "; # UTC"
6305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# End:
631