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