diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2011-06-04 21:36:36 -0700 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2011-06-05 10:14:41 -0700 |
commit | 855a9cb40ca734e1c99c3a1032630281d99572d1 (patch) | |
tree | c0874bea33b382f8f869b0a38630675ba871023a /gccmakedep.in | |
parent | 7abbe73c0ead0f335f2e39a486ac3004b8c30b08 (diff) |
Use autoconf instead of XORG_RAWCPP to substitute text in gccmakedep
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
Diffstat (limited to 'gccmakedep.in')
-rw-r--r-- | gccmakedep.in | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/gccmakedep.in b/gccmakedep.in new file mode 100644 index 0000000..860d102 --- /dev/null +++ b/gccmakedep.in @@ -0,0 +1,130 @@ +#!/bin/sh + +# +# makedepend which uses 'gcc -M' +# +# $XFree86: xc/config/util/gccmdep.cpp,v 3.10tsi Exp $ +# +# Based on mdepend.cpp and code supplied by Hongjiu Lu <hjl@nynexst.com> +# + +TMP=mdep$$.tmp +CC="@CC@" +RM="rm -f" +LN="ln" +MV="mv" + +${RM} ${TMP} + +trap "${RM} ${TMP}*; exit 1" 1 2 15 +trap "${RM} ${TMP}*; exit 0" 1 2 13 + +files= +makefile= +endmarker= +magic_string='# DO NOT DELETE' +append=n +args= + +while [ $# != 0 ]; do + if [ "$endmarker"x != x -a "$endmarker" = "$1" ]; then + endmarker= + else + case "$1" in + -D*|-I*|-U*) +# arg may contain single quotes + qarg=`echo "$1" | sed "s/'/'\\\\\\\\''/g"` + args="$args '$qarg'" + ;; + -g*|-O*) + ;; + *) + if [ "$endmarker"x = x ]; then + case $1 in +# ignore these flags + -w|-o|-cc) + shift + ;; + -v) + ;; + -s) + magic_string="$2" + shift + ;; + -f*) + if [ "$1" = "-f-" ]; then + makefile="-" + elif [ "$1" = "-f" ]; then + makefile="$2" + shift + else + echo "$1" | sed 's/^\-f//' >${TMP}arg + makefile="`cat ${TMP}arg`" + rm -f ${TMP}arg + fi + ;; + --*) + endmarker=`echo $1 | sed 's/^\-\-//'` + if [ "$endmarker"x = x ]; then + endmarker="--" + fi + ;; + -a) + append=y + ;; + -*) + echo "Unknown option '$1' ignored" 1>&2 + ;; + *) +# filename may contain blanks + files="$files '$1'" + ;; + esac + fi + ;; + esac + fi + shift +done + +if [ x"$files" = x ]; then +# Nothing to do + exit 0 +fi + +case "$makefile" in + '') + if [ -r makefile ]; then + makefile=makefile + elif [ -r Makefile ]; then + makefile=Makefile + else + echo 'no makefile or Makefile found' 1>&2 + exit 1 + fi + ;; +esac + +if [ X"$makefile" != X- ]; then + if [ x"$append" = xn ]; then + sed -e "/^$magic_string/,\$d" < $makefile > $TMP + echo "$magic_string" >> $TMP + else + cp $makefile $TMP + fi +fi + +CMD="$CC -M $args $files" +if [ X"$makefile" != X- ]; then + CMD="$CMD >> $TMP" +fi +# Do not wildcard expand '*' in args +eval "$CMD" +if [ X"$makefile" != X- ]; then + $RM ${makefile}.bak + $MV $makefile ${makefile}.bak + $MV $TMP $makefile +fi + +$RM ${TMP}* +exit 0 |