Changeset 5479 in orxonox.OLD for trunk/depcomp
- Timestamp:
- Nov 3, 2005, 8:50:51 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/depcomp
r1956 r5479 1 1 #! /bin/sh 2 3 2 # depcomp - compile a program generating dependencies as side-effects 4 # Copyright 1999, 2000, 2003 Free Software Foundation, Inc. 3 4 scriptversion=2005-07-09.11 5 6 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. 5 7 6 8 # This program is free software; you can redistribute it and/or modify … … 16 18 # You should have received a copy of the GNU General Public License 17 19 # along with this program; if not, write to the Free Software 18 # Foundation, Inc., 5 9 Temple Place - Suite 330, Boston, MA19 # 0211 1-1307, USA.20 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 21 # 02110-1301, USA. 20 22 21 23 # As a special exception to the GNU General Public License, if you … … 26 28 # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. 27 29 30 case $1 in 31 '') 32 echo "$0: No command. Try \`$0 --help' for more information." 1>&2 33 exit 1; 34 ;; 35 -h | --h*) 36 cat <<\EOF 37 Usage: depcomp [--help] [--version] PROGRAM [ARGS] 38 39 Run PROGRAMS ARGS to compile a file, generating dependencies 40 as side-effects. 41 42 Environment variables: 43 depmode Dependency tracking mode. 44 source Source file read by `PROGRAMS ARGS'. 45 object Object file output by `PROGRAMS ARGS'. 46 DEPDIR directory where to store dependencies. 47 depfile Dependency file to output. 48 tmpdepfile Temporary file to use when outputing dependencies. 49 libtool Whether libtool is used (yes/no). 50 51 Report bugs to <bug-automake@gnu.org>. 52 EOF 53 exit $? 54 ;; 55 -v | --v*) 56 echo "depcomp $scriptversion" 57 exit $? 58 ;; 59 esac 60 28 61 if test -z "$depmode" || test -z "$source" || test -z "$object"; then 29 62 echo "depcomp: Variables source, object and depmode must be set" 1>&2 30 63 exit 1 31 64 fi 32 # `libtool' can also be set to `yes' or `no'. 33 34 if test -z "$depfile"; then 35 base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` 36 dir=`echo "$object" | sed 's,/.*$,/,'` 37 if test "$dir" = "$object"; then 38 dir= 39 fi 40 # FIXME: should be _deps on DOS. 41 depfile="$dir.deps/$base" 42 fi 43 65 66 # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. 67 depfile=${depfile-`echo "$object" | 68 sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} 44 69 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} 45 70 … … 263 288 264 289 if test "$libtool" = yes; then 265 tmpdepfile1="$dir.libs/$base.lo.d" 266 tmpdepfile2="$dir.libs/$base.d" 290 # With Tru64 cc, shared objects can also be used to make a 291 # static library. This mecanism is used in libtool 1.4 series to 292 # handle both shared and static libraries in a single compilation. 293 # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. 294 # 295 # With libtool 1.5 this exception was removed, and libtool now 296 # generates 2 separate objects for the 2 libraries. These two 297 # compilations output dependencies in in $dir.libs/$base.o.d and 298 # in $dir$base.o.d. We have to check for both files, because 299 # one of the two compilations can be disabled. We should prefer 300 # $dir$base.o.d over $dir.libs/$base.o.d because the latter is 301 # automatically cleaned when .libs/ is deleted, while ignoring 302 # the former would cause a distcleancheck panic. 303 tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 304 tmpdepfile2=$dir$base.o.d # libtool 1.5 305 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 306 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 267 307 "$@" -Wc,-MD 268 308 else 269 tmpdepfile1="$dir$base.o.d" 270 tmpdepfile2="$dir$base.d" 309 tmpdepfile1=$dir$base.o.d 310 tmpdepfile2=$dir$base.d 311 tmpdepfile3=$dir$base.d 312 tmpdepfile4=$dir$base.d 271 313 "$@" -MD 272 314 fi … … 275 317 if test $stat -eq 0; then : 276 318 else 277 rm -f "$tmpdepfile1" "$tmpdepfile2" 319 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" 278 320 exit $stat 279 321 fi 280 322 281 if test -f "$tmpdepfile1"; then 282 tmpdepfile="$tmpdepfile1" 283 else 284 tmpdepfile="$tmpdepfile2" 285 fi 323 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" 324 do 325 test -f "$tmpdepfile" && break 326 done 286 327 if test -f "$tmpdepfile"; then 287 328 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" … … 427 468 428 469 "$@" -E | 429 sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | 470 sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ 471 -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | 430 472 sed '$ s: \\$::' > "$tmpdepfile" 431 473 rm -f "$depfile" … … 478 520 479 521 exit 0 522 523 # Local Variables: 524 # mode: shell-script 525 # sh-indentation: 2 526 # eval: (add-hook 'write-file-hooks 'time-stamp) 527 # time-stamp-start: "scriptversion=" 528 # time-stamp-format: "%:y-%02m-%02d.%02H" 529 # time-stamp-end: "$" 530 # End:
Note: See TracChangeset
for help on using the changeset viewer.