version 1.1, 2012/02/21 17:26:11
|
version 1.1.1.2, 2012/05/29 11:53:40
|
Line 1
|
Line 1
|
#! /bin/sh |
#! /bin/sh |
# depcomp - compile a program generating dependencies as side-effects |
# depcomp - compile a program generating dependencies as side-effects |
|
|
scriptversion=2009-04-28.21; # UTC | scriptversion=2011-12-04.11; # UTC |
|
|
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free | # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, |
# Software Foundation, Inc. | # 2011 Free Software Foundation, Inc. |
|
|
# This program is free software; you can redistribute it and/or modify |
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# it under the terms of the GNU General Public License as published by |
Line 44 Environment variables:
|
Line 44 Environment variables:
|
object Object file output by `PROGRAMS ARGS'. |
object Object file output by `PROGRAMS ARGS'. |
DEPDIR directory where to store dependencies. |
DEPDIR directory where to store dependencies. |
depfile Dependency file to output. |
depfile Dependency file to output. |
tmpdepfile Temporary file to use when outputing dependencies. | tmpdepfile Temporary file to use when outputting dependencies. |
libtool Whether libtool is used (yes/no). |
libtool Whether libtool is used (yes/no). |
|
|
Report bugs to <bug-automake@gnu.org>. |
Report bugs to <bug-automake@gnu.org>. |
Line 90 if test "$depmode" = msvcmsys; then
|
Line 90 if test "$depmode" = msvcmsys; then
|
# This is just like msvisualcpp but w/o cygpath translation. |
# This is just like msvisualcpp but w/o cygpath translation. |
# Just convert the backslash-escaped backslashes to single forward |
# Just convert the backslash-escaped backslashes to single forward |
# slashes to satisfy depend.m4 |
# slashes to satisfy depend.m4 |
cygpath_u="sed s,\\\\\\\\,/,g" | cygpath_u='sed s,\\\\,/,g' |
depmode=msvisualcpp |
depmode=msvisualcpp |
fi |
fi |
|
|
|
if test "$depmode" = msvc7msys; then |
|
# This is just like msvc7 but w/o cygpath translation. |
|
# Just convert the backslash-escaped backslashes to single forward |
|
# slashes to satisfy depend.m4 |
|
cygpath_u='sed s,\\\\,/,g' |
|
depmode=msvc7 |
|
fi |
|
|
case "$depmode" in |
case "$depmode" in |
gcc3) |
gcc3) |
## gcc 3 implements dependency tracking that does exactly what |
## gcc 3 implements dependency tracking that does exactly what |
Line 158 gcc)
|
Line 166 gcc)
|
' < "$tmpdepfile" | |
' < "$tmpdepfile" | |
## Some versions of gcc put a space before the `:'. On the theory |
## Some versions of gcc put a space before the `:'. On the theory |
## that the space means something, we add a space to the output as |
## that the space means something, we add a space to the output as |
## well. | ## well. hp depmode also adds that space, but also prefixes the VPATH |
| ## to the object. Take care to not repeat it in the output. |
## Some versions of the HPUX 10.20 sed can't process this invocation |
## Some versions of the HPUX 10.20 sed can't process this invocation |
## correctly. Breaking it into two sed invocations is a workaround. |
## correctly. Breaking it into two sed invocations is a workaround. |
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ |
| | sed -e 's/$/ :/' >> "$depfile" |
rm -f "$tmpdepfile" |
rm -f "$tmpdepfile" |
;; |
;; |
|
|
Line 405 tru64)
|
Line 415 tru64)
|
rm -f "$tmpdepfile" |
rm -f "$tmpdepfile" |
;; |
;; |
|
|
|
msvc7) |
|
if test "$libtool" = yes; then |
|
showIncludes=-Wc,-showIncludes |
|
else |
|
showIncludes=-showIncludes |
|
fi |
|
"$@" $showIncludes > "$tmpdepfile" |
|
stat=$? |
|
grep -v '^Note: including file: ' "$tmpdepfile" |
|
if test "$stat" = 0; then : |
|
else |
|
rm -f "$tmpdepfile" |
|
exit $stat |
|
fi |
|
rm -f "$depfile" |
|
echo "$object : \\" > "$depfile" |
|
# The first sed program below extracts the file names and escapes |
|
# backslashes for cygpath. The second sed program outputs the file |
|
# name when reading, but also accumulates all include files in the |
|
# hold buffer in order to output them again at the end. This only |
|
# works with sed implementations that can handle large buffers. |
|
sed < "$tmpdepfile" -n ' |
|
/^Note: including file: *\(.*\)/ { |
|
s//\1/ |
|
s/\\/\\\\/g |
|
p |
|
}' | $cygpath_u | sort -u | sed -n ' |
|
s/ /\\ /g |
|
s/\(.*\)/ \1 \\/p |
|
s/.\(.*\) \\/\1:/ |
|
H |
|
$ { |
|
s/.*/ / |
|
G |
|
p |
|
}' >> "$depfile" |
|
rm -f "$tmpdepfile" |
|
;; |
|
|
|
msvc7msys) |
|
# This case exists only to let depend.m4 do its work. It works by |
|
# looking at the text of this script. This case will never be run, |
|
# since it is checked for above. |
|
exit 1 |
|
;; |
|
|
#nosideeffect) |
#nosideeffect) |
# This comment above is used by automake to tell side-effect |
# This comment above is used by automake to tell side-effect |
# dependency tracking mechanisms from slower ones. |
# dependency tracking mechanisms from slower ones. |
Line 503 makedepend)
|
Line 559 makedepend)
|
touch "$tmpdepfile" |
touch "$tmpdepfile" |
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" |
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" |
rm -f "$depfile" |
rm -f "$depfile" |
cat < "$tmpdepfile" > "$depfile" | # makedepend may prepend the VPATH from the source file name to the object. |
| # No need to regex-escape $object, excess matching of '.' is harmless. |
| sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" |
sed '1,2d' "$tmpdepfile" | tr ' ' ' |
sed '1,2d' "$tmpdepfile" | tr ' ' ' |
' | \ |
' | \ |
## Some versions of the HPUX 10.20 sed can't process this invocation |
## Some versions of the HPUX 10.20 sed can't process this invocation |