# Copyright (C) 1993, 1995, 1997, 1998 Free Software Foundation
# 
# This file is part of the GNU IO Library.  This library is free
# software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2, or (at your option)
# any later version.
# 
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with GNU CC; see the file COPYING.  If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

# File descriptor usage:
# 1: All macros which need to be re-definable by any target fragments
# 2: All generic rules; especially those which use re-defined macros, e.g. _G_CONFIG_H!

# Significant variables:

# Note that TO_TOPDIR does *not* include multilib.
test -z "${TO_TOPDIR}" && TO_TOPDIR=${TOLIBGXX}../
# Native configurations build target libraries in directories at the same
# level as the rest of the tree.  Cross configurations build target libraries
# one level deeper.  TO_REAL_TOPDIR accounts for this.
# Obviously, TO_REAL_TOPDIR can only be used in the build tree.
if [ "${with_target_subdir}" != "." ] ; then
  TO_REAL_TOPDIR="${TO_TOPDIR}../"
else
  TO_REAL_TOPDIR="${TO_TOPDIR}"
fi
DOING_LIBGXX=${DOING_LIBGXX-false}
THIS_FILE="${srcdir}/${TOLIBIO}config.shared"

echo "# Start of package fragment generated by ${THIS_FILE}."
echo ""
echo >&2 "# Start of package rules fragment generated by ${THIS_FILE}."
echo >&2 ""

# Multilib support.
echo 'MULTISRCTOP ='
echo 'MULTIBUILDTOP ='
echo 'MULTIDIRS ='
echo 'MULTISUBDIR ='
echo 'MULTIDO = true'
echo 'MULTICLEAN = true'
echo ''

# TOLIBGXX
# MOSTLYCLEAN
# CLEAN
# DISTCLEAN
# REALCLEAN
# SUBDIRS [defaults to (configdirs)]
# INFO_FILES   List of (basenames of) texinfo files
# INFO_SUBDIRS [default: empty]  sub-directories containing documentation

# ??? This doesn't appear to be used by us or any of our callers.
# Note that all uses in this file are single-quoted.
rootme=${rootme-`pwd`}

# libg++ uses the convention that $rootme includes a trailing '/'.
# We use that in the definition of TOPDIR.  $rootme is either empty
# or an absolute pathname to the current directory (with trailing '/').
TOPDIR=${TOPDIR-'$${rootme}$(MULTIBUILDTOP)'${TO_REAL_TOPDIR}}
echo '#' TOPDIR="${TOPDIR} invsubdir=${invsubdir} subdir=${subdir}"
SUBDIRS=${SUBDIRS-${configdirs}}
CHECK_SUBDIRS=${CHECK_SUBDIRS-${SUBDIRS}}

echo "srcdir = ${srcdir}"
echo "SUBDIRS = ${SUBDIRS}"
echo "CHECK_SUBDIRS = ${CHECK_SUBDIRS}"

echo "prefix = ${prefix-/usr/local}"
echo "exec_prefix = ${exec_prefix-'${prefix}'}"

echo 'bindir = $(exec_prefix)/bin'
echo 'libdir = $(exec_prefix)/lib'

echo 'datadir = $(prefix)/lib'
echo 'mandir = $(prefix)/man'
echo 'man1dir = $(mandir)/man1'
echo 'man2dir = $(mandir)/man2'
echo 'man3dir = $(mandir)/man3'
echo 'man4dir = $(mandir)/man4'
echo 'man5dir = $(mandir)/man5'
echo 'man6dir = $(mandir)/man6'
echo 'man7dir = $(mandir)/man7'
echo 'man8dir = $(mandir)/man8'
echo 'man9dir = $(mandir)/man9'

echo 'infodir = $(prefix)/info'
echo 'includedir = $(prefix)/include'
echo 'docdir = $(datadir)/doc'
echo ''
echo 'SHELL = /bin/sh'
echo ''
case "$srcdir" in
  /*) echo 'INSTALL = $(srcdir)'/"${TO_TOPDIR}install-sh -c" ;;
  .)  echo 'INSTALL = $${rootme}'"${with_multisrctop}${TO_REAL_TOPDIR}install-sh -c" ;;
  *)  echo 'INSTALL = $${rootme}$(srcdir)'/"${TO_TOPDIR}install-sh -c" ;;
esac
echo 'INSTALL_PROGRAM = $(INSTALL)'
echo 'INSTALL_DATA = $(INSTALL)'
echo ''
echo 'AR = `if [ -f' ${TOPDIR}'binutils/ar ] ; \'
echo "	then echo ${TOPDIR}binutils/ar ; "'\'
echo '	else echo ar ; fi`'
echo 'AR_FLAGS = rc'
echo 'RANLIB = `if [ -f' ${TOPDIR}'binutils/ranlib ] ; \'
echo '	then echo '${TOPDIR}'binutils/ranlib ; \'
echo '	else echo ranlib ; fi`'
echo 'NM = `if [ -f' ${TOPDIR}'binutils/nm.new ] ; \'
echo '	then echo '${TOPDIR}'binutils/nm.new ; \'
echo '	else echo nm ; fi`'
echo 'NLMCONV = `if [ -f' ${TOPDIR}'binutils/nlmconv ] ; \'
echo '	then echo '${TOPDIR}'binutils/nlmconv ; \'
echo '	else echo nlmconv ; fi`'
echo 'LD = `if [ -f' ${TOPDIR}'ld/ld.new ] ; \'
echo '	then echo '${TOPDIR}'ld/ld.new ; \'
echo '	else echo ld ; fi`'
echo ''
echo 'MAKEINFO = `if [ -f '${TOPDIR}'texinfo/C/makeinfo ] ; \'
echo '	then echo '${TOPDIR}'texinfo/C/makeinfo ; \'
echo '	else echo makeinfo ; fi`'
case "$srcdir" in
  .) echo 'TEXIDIR = '"${with_multisrctop}${TO_REAL_TOPDIR}texinfo" ;;
  *) echo 'TEXIDIR = $(srcdir)'/"${TO_TOPDIR}texinfo" ;;
esac
echo 'TEXI2DVI = TEXINPUTS=${TEXIDIR}:$$TEXINPUTS texi2dvi'
echo ''
echo 'CC = cc'
echo 'CXX = gcc'
echo ''
# FIXME!!!
if true ; then
  echo 'WRAP_C_INCLUDES ='
else
  echo 'WRAP_C_INCLUDES = -I$(srcdir)'/${TOLIBGXX}g++-include
fi
echo 'CFLAGS = -g'
echo 'CXXFLAGS = -g -O'
echo 'LIBCFLAGS = $(CFLAGS)'
echo 'LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates'
if [ "${LIBDIR}" = "yes" ]; then
  echo 'PICDIR = stamp-picdir'
else
  echo 'PICDIR = '
fi

if test "${DOING_LIBGXX}" = "true" ; then
  echo "TOLIBGXX = ${TOLIBGXX}"
  echo 'PROTODIR = $(srcdir)'/${TOLIBGXX}src/gen
  echo "LIBS = -L./${TOLIBGXX} -L./${TOLIBGXX}../libstdc++ -lg++ -lstdc++"

  # You can override iostream (e.g. in a site- or host-Makefile fragment) to:
  # iostream (Normal iostream library)
  # old-stream (Old stream library; no longer supported)
  # no-stream (If you don't want iostream to be part of libg++)
  echo 'IO_DIR = ../libio'
  echo '# IO_DIR = no-stream'
elif test "${DOING_GPERF}" = "true" ; then
  echo "IO_DIR = libio"
  echo "LIBS = -L${TO_TOPDIR}libstdc++ -lstdc++"
fi

if [ -z "${ALL}" ] ; then
  if [ -n "${TARGETLIB}" ] ; then
    ALL='$(TARGETLIB)'
    echo "TARGETLIB = ${TARGETLIB}"
  elif [ -n "${TARGETPROG}" ] ; then
    ALL='${TARGETPROG}'
    echo "TARGETPROG = ${TARGETPROG}"
  else
    echo "config error: neither ALL, TARGETLIB or TARGETPROG is defined" 1>&2
  fi
fi

ALL='$(PICDIR)'" ${ALL}"

echo >&2 "all: ${ALL} multi-all"
if [ "${SUBDIRS}" != "" ] ; then
  echo >&2 '	@rootme=`pwd`/; export rootme; \'
  echo >&2 '	$(MAKE) "DODIRS=$(SUBDIRS)" DO=all $(FLAGS_TO_PASS) subdir_do'
fi
echo >&2 '.PHONY: all'
echo >&2 ''

echo >&2 '.PHONY: multi-all'
echo >&2 'multi-all:'
echo >&2 '	@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all'
echo >&2 ''

echo >&2
if [ "${SUBDIRS}" != "" ] ; then
  echo >&2 '.PHONY: subdir_do'
  echo >&2 'subdir_do: force'
  echo >&2 '	@rootme=`pwd`/; export rootme; \'
  echo >&2 '	for i in $(DODIRS); do \'
  echo >&2 '		if [ -f  ./$$i/Makefile ] ; then \'
  echo >&2 '			echo "cd $$i; make $(DO) ..." ; \'
  echo >&2 '			(cd $$i ; $(MAKE) $(FLAGS_TO_PASS) $(DO)) || exit 1 ; \'
  echo >&2 '		else true ; fi ; \'
  echo >&2 '	done'
  echo >&2 ''
  echo >&2 '# List of variables to pass to sub-makes.  This should not be needed'
  echo >&2 '# by GNU make or Sun make (both of which pass command-line variable'
  echo >&2 '# overrides thouh $(MAKE)) but may be needed by older versions.'
  echo >&2 ''
  echo >&2 'FLAGS_TO_PASS= \'
  echo >&2 '	"SHELL=$(SHELL)" \'
  echo >&2 '	"INSTALL=$(INSTALL)" \'
  echo >&2 '	"INSTALL_DATA=$(INSTALL_DATA)" \'
  echo >&2 '	"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \'
  echo >&2 '	"prefix=$(prefix)" \'
  echo >&2 '	"exec_prefix=$(exec_prefix)" \'
  echo >&2 '	"tooldir=$(tooldir)" \'
  echo >&2 '	"gxx_include_dir=$(gxx_include_dir)" \'
  echo >&2 '	"libsubdir=$(libsubdir)" \'
  echo >&2 '	"gcc_version=$(gcc_version)" \'
  echo >&2 '	"gcc_version_trigger=$(gcc_version_trigger)" \'
  echo >&2 '	"AR=$(AR)" \'
  echo >&2 '	"AR_FLAGS=$(AR_FLAGS)" \'
  echo >&2 '	"CC=$(CC)" \'
  echo >&2 '	"CXX=$(CXX)" \'
  echo >&2 '	"CFLAGS=$(CFLAGS)" \'
  echo >&2 '	"CXXFLAGS=$(CXXFLAGS)" \'
  echo >&2 '	"NM=$(NM)" \'
  echo >&2 '	"RANLIB=$(RANLIB)" \'
  echo >&2 '	"LIBCFLAGS=$(LIBCFLAGS)" \'
  echo >&2 '	"LIBCXXFLAGS=$(LIBCXXFLAGS)" \'
  echo >&2 '	"LOADLIBES=$(LOADLIBES)" \'
  echo >&2 '	"LDFLAGS=$(LDFLAGS)" \'
  echo >&2 '	"MAKEINFO=$(MAKEINFO)" \'
  echo >&2 '	"SHLIB=$(SHLIB)" \'
  echo >&2 '	"SHCURSES=$(SHCURSES)" \'
  echo >&2 '	"RUNTESTFLAGS=$(RUNTESTFLAGS)"'
fi

echo >&2 'NOSTDINC = -nostdinc++'
if test -n "${XCXXINCLUDES}" ; then
  echo >&2 "CXXINCLUDES = ${XCXXINCLUDES} "'$(NOSTDINC)'
elif test "${DOING_LIBGXX}" = "true" ; then
  echo >&2 'CXXINCLUDES = $(NOSTDINC) -I. -I'"${TO_TOPDIR}libio"' -I$(srcdir) -I$(srcdir)/'"${TOLIBGXX}"'$(IO_DIR) -I$(srcdir)/'"${TOLIBGXX}"'../libstdc++ -I$(srcdir)/'"${TOLIBGXX}src"' '"${host_includes}"' $(WRAP_C_INCLUDES)'
fi
if test -n "${XCINCLUDES}" ; then
  echo >&2 "CINCLUDES = ${XCINCLUDES}"
elif test "${DOING_LIBGXX}" = "true" ; then
  echo >&2 'CINCLUDES ='
fi

if [ "${LIBDIR}" = "yes" ]; then
  echo >&2 'XCFLAGS = $(LIBCFLAGS)'
  echo >&2 'XCXXFLAGS = $(LIBCXXFLAGS)'
else
  echo >&2 'XCFLAGS = $(CFLAGS)'
  echo >&2 'XCXXFLAGS = $(CXXFLAGS)'
fi

echo >&2 '.SUFFIXES: .o .C .cc .c'
echo >&2 'COMPILE.c = $(CC) -c $(XCFLAGS) $(CINCLUDES) $(MT_CFLAGS)'
echo >&2 '.c.o:'
if [ "${LIBDIR}" = "yes" ]; then
echo >&2 '	test x"$(enable_shared)" != xyes ||\'
echo >&2 '	  $(COMPILE.c) $(PICFLAG) $< -o pic/$@'
fi
echo >&2 '	$(COMPILE.c) $<'
[ "${TOUCH_ON_COMPILE}" = "yes" ] && echo >&2 '	@touch stamp'
echo >&2 'COMPILE.cc = $(CXX) -c $(XCXXFLAGS) $(CXXINCLUDES) $(MT_CFLAGS)'
echo >&2 '.C.o:'
if [ "${LIBDIR}" = "yes" ]; then
echo >&2 '	test x"$(enable_shared)" != xyes ||\'
echo >&2 '	  $(COMPILE.cc) $(PICFLAG) $< -o pic/$@'
fi
echo >&2 '	$(COMPILE.cc) $<'
[ "${TOUCH_ON_COMPILE}" = "yes" ] && echo >&2 '	@touch stamp'
echo >&2 '.cc.o:'
if [ "${LIBDIR}" = "yes" ]; then
echo >&2 '	test x"$(enable_shared)" != xyes || \'
echo >&2 '	  $(COMPILE.cc) $(PICFLAG) $< -o pic/$@'
fi
echo >&2 '	$(COMPILE.cc) $<'
[ "${TOUCH_ON_COMPILE}" = "yes" ] && echo >&2 '	@touch stamp'
echo >&2 ''

if [ -n "${TARGETLIB}" ] ; then
  echo TARGETLIB = ${TARGETLIB}
fi
if [ -n "${TARGETPROG}" ] ; then
  echo TARGETPROG = ${TARGETPROG}
fi

if [ "${LIBDIR}" = "yes" ]; then
  echo >&2 ''
  echo >&2 'stamp-picdir:'
  echo >&2 '	if [ x"$(enable_shared)" = xyes ] && [ ! -d pic ]; then \'
  echo >&2 '	  mkdir pic; \'
  echo >&2 '	else true; fi'
  echo >&2 '	touch stamp-picdir'
fi

echo >&2 ''
echo >&2 '.PHONY: install'
echo >&2 'install:'
echo >&2 '.PHONY: check'
if [ "${CHECK}" != "check" ] ; then
  echo >&2 "check: ${ALL} ${CHECK}"
  if [ "${CHECK_SUBDIRS}" != "" ] ; then
    echo >&2 '	rootme=`pwd`/; export rootme; \'
    echo >&2 '	SAVE_LLPATH="$${SAVE_LLPATH-$$LD_LIBRARY_PATH}"; export SAVE_LLPATH; \'
    echo >&2 '	LD_LIBRARY_PATH="$${rootme}${TOLIBGXX}../libstdc++:$${rootme}${TOLIBGXX}../libg++:$$SAVE_LLPATH"; \'
    echo >&2 '	export LD_LIBRARY_PATH; \'
    echo >&2 '	$(MAKE) "DODIRS=$(CHECK_SUBDIRS)" DO=check $(FLAGS_TO_PASS) subdir_do'
  fi
fi

# Generate rules for documentation (depending on INFO_FILES and INFO_SUBDIRS).

echo >&2 '.PHONY: info dvi install-info clean-info'

# emit the rule for 'info'
# (Note that the top-level ../Makefile.in greps for '^info:' when making
# a release (in "make taz"), so don't break that!)
if [ -z "${INFO_FILES}" ] ; then
  echo >&2 'info:'
else
  echo >&2 info: `for file in ${INFO_FILES} ; do echo $file.info ; done`
fi
if [ "${INFO_SUBDIRS}" != "" ] ; then
  echo >&2 '	@rootme=`pwd`/; export rootme; \
	$(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=info $(FLAGS_TO_PASS) subdir_do'
fi

# emit the rule for 'dvi'
if [ -z "${INFO_FILES}" ] ; then
  echo >&2 'dvi:'
else
  echo >&2 dvi: `for file in ${INFO_FILES} ; do echo $file.dvi ; done`
fi
if [ "${INFO_SUBDIRS}" != "" ] ; then
  echo >&2 '	@rootme=`pwd`/; export rootme; \
	$(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=dvi $(FLAGS_TO_PASS) subdir_do'
fi

# Emit rules for each *.info and *.dvi file
for file in ${INFO_FILES} ; do
  echo >&2 ${file}.info: '$(srcdir)'/${file}.texi
  echo >&2 '	$(MAKEINFO) -I$(srcdir) -I$(TEXIDIR) $(srcdir)/'${file}.texi -o ${file}.info
  echo >&2 ${file}.dvi: '$(srcdir)'/${file}.texi
  echo >&2 '	$(TEXI2DVI) $(srcdir)'/${file}.texi
  echo >&2 "${file}.ps: ${file}.dvi"
  echo >&2 "	dvips ${file} -o"
done

# emit the rule for install-info
echo >&2 'install-info:'
if [ -n "${INFO_FILES}" ] ; then
  echo >&2 '	-parent=`echo $(infodir)|sed -e' "'"'s@/[^/]*$$@@'"'"'`; \'
  echo >&2 '	if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi'
  echo >&2 '	-if [ -d $(infodir) ] ; then true ; else mkdir $(infodir) ; fi'
  echo >&2 '	for i in *.info* ; do \'
  echo >&2 '	  $(INSTALL_DATA) $$i $(infodir)/$$i ; \'
  echo >&2 '	done'
fi
if [ "${INFO_SUBDIRS}" != "" ] ; then
  echo >&2 '	@rootme=`pwd`/; export rootme; \
	$(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=install-info $(FLAGS_TO_PASS) subdir_do'
fi

# emit clean-info and clean-dvi rules
echo >&2 '.PHONY: do-clean-info clean-info do-clean-dvi clean-dvi'
echo >&2 do-clean-info:
if [ -n "${INFO_FILES}" ] ; then
  echo >&2 '	rm -f *.info*'
fi
echo >&2 'do-clean-dvi:'
if [ -n "${INFO_FILES}" ] ; then
  echo >&2 '	rm -f *.dvi *.aux *.cp *.cps *.fn* *.ky *.log *.pg *.toc *.tp *.vr'
fi
for type in info dvi ; do
  echo >&2 clean-${type}: do-clean-${type}
  if [ "${INFO_SUBDIRS}" != "" ] ; then
    echo >&2 '	@rootme=`pwd`/; export rootme; \
	$(MAKE) "DODIRS='${NFO_SUBDIRS}'" DO=clean-'${type} '$(FLAGS_TO_PASS) subdir_do'
  fi
done

echo >&2 ''

echo >&2 '.PHONY: boltcc'
echo >&2 'boltcc:'
echo >&2 '	rootme=`pwd`/ ; export rootme ; $(MAKE) $(FLAGS_TO_PASS)'
echo >&2 ''

# Emit clean rules

echo >&2 ''
echo >&2 '# clean rules'

MOSTLYCLEAN="${MOSTLYCLEAN-*.o pic stamp-picdir core ${EXTRA_MOSTLYCLEAN}} `if test -n "${TOUCH_ON_COMPILE}"; then echo stamp; else true; fi`"
CLEAN="${CLEAN-${TARGETPROG} ${TARGETLIB}}"
DISTCLEAN="${DISTCLEAN-config.status Makefile *~ Make.pack target-mkfrag multilib.out ${EXTRA_DISTCLEAN-}}"
REALCLEAN="${REALCLEAN-depend *.info*}"


echo >&2 '.PHONY: mostlyclean clean distclean maintainer-clean realclean'
if test -z "${SUBDIRS}" ; then
  echo >&2 "mostlyclean: clean-dvi"
  echo >&2 "	rm -rf ${MOSTLYCLEAN}"
  echo >&2 '	@$(MULTICLEAN) multi-clean DO=mostlyclean'
  echo >&2 "clean: clean-dvi"
  echo >&2 "	rm -rf ${MOSTLYCLEAN} ${CLEAN}"
  echo >&2 '	@$(MULTICLEAN) multi-clean DO=clean'
  echo >&2 "distclean: clean"
  echo >&2 '	@$(MULTICLEAN) multi-clean DO=distclean'
  echo >&2 "	rm -rf ${DISTCLEAN}"
  echo >&2 "maintainer-clean realclean: clean clean-info"
  echo >&2 '	@$(MULTICLEAN) multi-clean DO=maintainer-clean'
  echo >&2 "	rm -rf ${DISTCLEAN} ${REALCLEAN}"
else
  echo >&2 '.PHONY: do-clean subdir_distclean subdir_maintainer_clean'
  echo >&2 "mostlyclean: do-clean-dvi"
  echo >&2 "	rm -rf ${MOSTLYCLEAN}"
  echo >&2 '	@$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=mostlyclean subdir_do'
  echo >&2 '	@$(MULTICLEAN) multi-clean DO=mostlyclean'
  echo >&2 "do-clean: do-clean-dvi"
  echo >&2 "	rm -rf ${MOSTLYCLEAN} ${CLEAN}"
  echo >&2 "clean: do-clean"
  echo >&2 '	@$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=clean subdir_do'
  echo >&2 '	@$(MULTICLEAN) multi-clean DO=clean'
  # distclean and maintainer-clean are tricky because they remove the Makefile.
  echo >&2 "subdir_distclean:"
  echo >&2 '	@$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=distclean subdir_do'
  echo >&2 "distclean: do-clean subdir_distclean"
  echo >&2 '	@$(MULTICLEAN) multi-clean DO=distclean'
  echo >&2 "	rm -rf ${DISTCLEAN}"
  echo >&2 "subdir_maintainer_clean:"
  echo >&2 '	@$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=maintainer-clean subdir_do'
  echo >&2 "maintainer-clean realclean: do-clean subdir_maintainer_clean do-clean-info"
  echo >&2 '	@$(MULTICLEAN) multi-clean DO=maintainer-clean'
  echo >&2 "	rm -rf ${DISTCLEAN} ${REALCLEAN}"
fi

echo >&2 ''
echo >&2 '.PHONY: force'
echo >&2 'force:'
echo >&2 ''
echo >&2 '# with the gnu make, this is done automatically.'
echo >&2 ''
echo >&2 'Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag) $(gcc_version_trigger)'
echo >&2 '	$(SHELL) ./config.status'
echo >&2 ''
echo >&2 '.NOEXPORT:'
echo >&2 'MAKEOVERRIDES='

cat >&2 <<"EOF"
DEPEND_SOURCES = ${srcdir}/*.cc ${srcdir}/*.c
depend.new:
# The sed script below attempts to make the depend output portable.
# It cleans up the depenency information generated by cpp.
# It replaces instances of $(srcdir)/ by the string '$(srcdir)/'.
# It removes remaining absolute files names (such as /usr/include/stdio.h).
# It removes lines containing only "\\".
# It inserts '$(MULTISRCTOP)' in '$(srcdir)/..'.
# In order to support SunOS VPATH, $(srcdir)/[a-z]*.{c,cc} is replaced with
# [a-z]*.{c,cc} (the directory part is removed).
# The awk script removes a continuation marker that is followed by
# a blank line, since that may confuse make.
	echo "# AUTOMATICALLY GENERATED BY 'make depend' - DO NOT EDIT" \
	  >depend.new
	$(CXX) -M $(CXXINCLUDES) $(DEPEND_SOURCES) \
	| sed -e 's|$(srcdir)/|$$(srcdir)/|g' \
	      -e 's| [^ ]_G_config.h| $$(_G_CONFIG_H)|g \
	      -e 's| /[^ ]*||g' \
	      -e '/^[ 	]*\\$$/d' -e 's/^[ 	]*$$//' \
	| sed -e 's|$$(srcdir)/[.][.]|$$(srcdir)/$$(MULTISRCTOP)..|g' \
	      -e 's|$$(srcdir)/\([^/]*[.]c\)|\1|' \
	| awk 'BEGIN   { prev = "" } \
	      /^( )*$$/ { if (prev ~ /\\$$/) \
	                    { prev = substr(prev,1,length(prev)-1); next } } \
	                { print prev; prev = $$0 } \
	      END { if (prev !~ /^( )*$$/) print prev }' \
	>> depend.new
$(srcdir)/depend:  depend.new
	mv depend.new $(srcdir)/depend
EOF

if [ -f ${srcdir}/${subdir}/depend ] ; then
  cat ${srcdir}/${subdir}/depend >&2
fi

echo "# End of package fragment generated by ${THIS_FILE}."
echo >&2 "# End of package rules fragment generated by ${THIS_FILE}."
