summaryrefslogtreecommitdiff
path: root/bin/g++dep
diff options
context:
space:
mode:
Diffstat (limited to 'bin/g++dep')
-rwxr-xr-xbin/g++dep173
1 files changed, 0 insertions, 173 deletions
diff --git a/bin/g++dep b/bin/g++dep
deleted file mode 100755
index a4cd4873301..00000000000
--- a/bin/g++dep
+++ /dev/null
@@ -1,173 +0,0 @@
-#! /bin/sh
-# $Id$
-
-# This utility is a lightly editted version of the freed Berkeley
-# script `mkdep'. The current script is intended to work for GNU G++.
-
-# Here is the original BSD header:
-# @(#)mkdep.sh 1.7 (Berkeley) 10/13/87
-#
-
-if [ $# = 0 ] ; then
- echo 'usage: g++dep [-p] [-f makefile] [flags] file ...'
- exit 1
-fi
-
-DO_ACE_MAKE_DEPEND=0
-MAKE=GNUmakefile
-STOPNOW=0
-REL=""
-
-while [ $STOPNOW -eq 0 ]
-do
-case $1 in
- # -e for compatibility with depgen.pl
- -e) shift; shift ;;
-
- # -f allows you to select a makefile name
- -f) MAKE=$2
- shift; shift ;;
-
- # the -p flag produces "program: program.c" style dependencies
- # so .o's don't get produced
- -p) SED='s;\.o;;'
- shift ;;
-
- # -A implies -r and fixes the .obj line, hate
- -A) REL="ACE_ROOT TAO_ROOT "$REL
- DO_ACE_MAKE_DEPEND=1
- shift ;;
-
- # -r allows the use of relative pathnames...
- -r) REL="ACE_ROOT TAO_ROOT "$REL
- shift ;;
-
- # -R VARNAME allows you to specify a variable which should be used
- # to generate relative paths if it's defined. You can use multiple
- # -R options, but be careful if one of the values is a proper
- # subset of a subsequent value, because I suspect that sed will
- # substitute for the first value properly, but not for the
- # second. You might be able to get around this by reordering and
- # having the more specific values lead the less specific values.
- -R) REL=$2" "$REL
- shift; shift;;
- *) STOPNOW=1
-esac
-done
-
-if [ ! -w $MAKE ]; then
- echo "g++dep: no writeable file \"$MAKE\""
- exit 1
-fi
-
-TMP=/tmp/g++dep$$
-SCRIPT=${TMP}_script
-
-trap 'rm -f $TMP $SCRIPT; exit 1' 1 2 3 13 15
-
-cp $MAKE ${MAKE}.bak
-
-sed -e '/DO NOT DELETE THIS LINE/,$d' < $MAKE > $TMP
-
-cat << _EOF_ >> $TMP
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-_EOF_
-
-# Local files may appear as './foo' change that to 'foo'
-echo 's; \./; ;g' >$SCRIPT
-
-# If the -p flag is set we want to change 'foo.o' to simply 'foo'
-echo $SED >>$SCRIPT
-
-# Dependencies on local files are better expressed like that, instead
-# of using $(TAO_ROOT) or $(ACE_ROOT). This is specially important
-# for IDL generated files.
-echo "s;`pwd`/;;g" >>$SCRIPT
-
-if [ -z "$TAO_ROOT" ]; then
- TAO_ROOT=${ACE_ROOT}/TAO
-fi
-
-# This is a long series of commands to change the actual value of
-# $ACE_ROOT to '$(ACE_ROOT)', similar changes are done for TAO_ROOT
-# and any number of "variables" defined via the -R option.
-for varname in $REL; do
- varvalue=$(eval echo \$${varname})
- echo "s;"$varvalue";$""("$varname");g" >>$SCRIPT
-done
-
-if [ $DO_ACE_MAKE_DEPEND -eq 1 ]; then
- # Append a series of commands to the sed script that help with the
- # ACE build style (.obj subdirectories, plaform indenpendent
- # dependencies, etc.)
-
- # To avoid interpolation we build this string in pieces, the idea is
- # to generate a rule that will convert
- # foo.o:
- # into
- # .obj/foo.o .shobj/foo.o .obj/foo.so .shobj/foo.so:
- #
- # will be foo.o foo.
- LONG_TARGET="$""(sort "
- for i in VDIR VSHDIR; do
- for j in OBJEXT SOEXT; do
- LONG_TARGET=${LONG_TARGET}"$""("${i}")\1.$""("${j}") "
- done
- done
- LONG_TARGET=${LONG_TARGET}")"
-
- cat >>$SCRIPT <<EOF
-#
-# Change the actual plaform config.h file to a MAKE macro...
-s;${ACE_PLATFORM_CONFIG};\$(ACE_PLATFORM_CONFIG);g
-#
-# Append a 'x' character to the config-all and config-lite names,
-# because we are going to remove all the config-* names..
-s/config-all/configx-all/
-s/config-lite/configx-lite/
-#
-# Remove the config-* names
-/config-.*\.h/d
-#
-# Restore configx-all and configx-lite to their original names
-s/configx-all/config-all/
-s/configx-lite/config-lite/
-#
-# Remove any absolute dependencies
-s; /[-a-zA-Z0-9_./+]*\.h;;g
-#
-# Remove blanks followed by a backslash
-s;[ \\t][ \\t]*\\\\; \\\\;g
-#
-# g++ generate dependencies for foo.o in the current directory, but we
-# we need dependencies for foo.o and foo.so in the .obj and .shobj
-# subdirectories. Actually .obj and .shobj are, respectively, the
-# expansions of VDIR and VSHDIR, therefore it is better *NOT* to use
-# the values of said variables, but generated dependencies that expand
-# them.
-s;\([-a-zA-Z0-9._+]*\)\.o:;\\${LONG_TARGET}:;
-#
-# An older implementation of the previous code, but using the actual
-# value of VDIR and VSHDIR at time of dependency generation.
-#
-#s;\([-a-zA-Z0-9._+]*\)\.o:;\\${VDIR}\1.${OBJEXT} ${VDIR}\1.${SOEXT} ${VSHDIR}\1.${OBJEXT} ${VSHDIR}\1.${SOEXT}:;
-#
-#
-EOF
-fi
-
-g++ -MM -MG -DACE_LACKS_PRAGMA_ONCE $* |
- sed -f $SCRIPT ${ACE_DEPEND_SED_CMD} >>$TMP
-/bin/rm -f $SCRIPT
-
-cat << _EOF_ >> $TMP
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
-_EOF_
-
-# copy to preserve permissions
-cp $TMP $MAKE
-rm -f ${MAKE}.bak $TMP
-exit 0