2000-05-24 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
+ * Makefile.am (TAGS): Construct.
+ * Makefile.in: Rengerate.
+ * src/Makefile.am: Tweak.
+ * src/Makefile.in: Tweak.
+ * configure.in: Tweak.
+
+ * bits/c++config.h: Rename to ...
+ * bits/c++config: This.
+ * mkc++config: Adjust.
+
* m4: Remove.
* m4/lc_message.m4: Merge into acinclude.m4.
* m4/mathfcts.m4: Same.
maintainer-clean-multi:
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
+# All the machinations with string instantiations messes up the
+# automake-genrated TAGS rule. Make a simple one here.
+TAGS: tags-recursive $(LISP)
+
# Work around what appears to be a GNU make bug handling MAKEFLAGS
# values defined in terms of make variables, as is the case for CC and
# friends when we are called from the top level Makefile.
"NM_FOR_BUILD=$(NM_FOR_BUILD)" \
"NM_FOR_TARGET=$(NM_FOR_TARGET)" \
"DESTDIR=$(DESTDIR)"
+
+
+
+
+
+
+
+
+
+
+
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $$unique $(LISP)
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
-
mostlyclean-tags:
clean-tags:
maintainer-clean-multi:
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
+# All the machinations with string instantiations messes up the
+# automake-genrated TAGS rule. Make a simple one here.
+TAGS: tags-recursive $(LISP)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
# Process this file with autoconf to produce a configure script, like so:
-# aclocal -I m4, autoconf, autoheader, automake
+# aclocal, autoconf, autoheader, automake
AC_PREREQ(2.13)
AC_INIT(src/complex.cc)
exit 1
fi
-BASE_H="$SRC_DIR/bits/c++config.h"
+BASE_H="$SRC_DIR/bits/c++config"
IN_H="$BUILD_DIR/config.h"
OUT_H="$BUILD_DIR/bits/c++config.h"
endif
generated_headers = \
- bits/std_limits.h bits/c++config.h bits/c++threads.h bits/c++io.h
+ $(top_builddir)/bits/std_limits.h $(top_builddir)/bits/c++config.h \
+ $(top_builddir)/bits/c++threads.h $(top_builddir)/bits/c++io.h
cpu_headers = \
$(top_srcdir)/@cpu_include_dir@/bits/atomicity.h
# NB: As libio_headers may be empty, need this to make sure bash doesn't
# choke on an empty for... loop by using libio_headers_install
-
myinstallheaders: $(headers:%=$(myincludep)%)
if test -z "$(MULTISUBDIR)"; then \
for i in $(std_headers); do \
$(INSTALL_DATA) $(top_srcdir)/std/$$i $(myincludep); \
done; \
for i in $(generated_headers); do \
- echo "$(INSTALL_DATA) $(top_builddir)/$$i $(myincludep)bits/"; \
- $(INSTALL_DATA) $(top_builddir)/$$i $(myincludep)bits/; \
+ echo "$(INSTALL_DATA) $$i $(myincludep)bits/"; \
+ $(INSTALL_DATA) $$i $(myincludep)bits/; \
done; \
libio_headers_install='$(libio_headers)'; \
for i in $$libio_headers_install; do \
$(INSTALL_DATA) $^ $@; \
fi;
-# For the next time we have to handle misc-inst.cc and locale-inst.cc
-# in a special way since we cannot instantiate all classes due to
-# missing definitions for things like vptrs, type_info bits, etc. when
-# using -fno-implicit-templates.
+# All the machinations with string instantiations messes up the
+# automake-genrated TAGS rule. Make a simple one here.
+TAGS: $(generated_headers) $(cpu_headers)
+ etags -C $(top_srcdir)/bits/*.h $(top_srcdir)/bits/*.tcc \
+ $(generated_headers) $(cpu_headers) $(libio_headers) \
+ $(top_srcdir)/src/*.cc \
+ $(top_builddir)/src/limitsMEMBERS.cc $(top_builddir)/src/c++io.cc \
+ -o $(top_builddir)/TAGS
+
+# We have to handle misc-inst.cc and locale-inst.cc in a special way
+# since we cannot instantiate all classes due to missing definitions
+# for things like vptrs, type_info bits, etc. when using
+# -fno-implicit-templates.
misc-inst.o: misc-inst.cc
$(CXXCOMPILE) -fimplicit-templates -c $<
misc-inst.lo: misc-inst.cc
wstringEQ.o : string-inst.cc
$(CXXCOMPILE) -fimplicit-templates \
-c -D`echo $@ | tr -dc '0-9A-Z'` -DC=wchar_t $< -o $@
+
@GLIBCPP_NEED_LIBIO_FALSE@libio_headers = \
generated_headers = \
- bits/std_limits.h bits/c++config.h bits/c++threads.h bits/c++io.h
+ $(top_builddir)/bits/std_limits.h $(top_builddir)/bits/c++config.h \
+ $(top_builddir)/bits/c++threads.h $(top_builddir)/bits/c++io.h
cpu_headers = \
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $$unique $(LISP)
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
mostlyclean-tags:
clean-tags:
# NB: As libio_headers may be empty, need this to make sure bash doesn't
# choke on an empty for... loop by using libio_headers_install
-
myinstallheaders: $(headers:%=$(myincludep)%)
if test -z "$(MULTISUBDIR)"; then \
for i in $(std_headers); do \
$(INSTALL_DATA) $(top_srcdir)/std/$$i $(myincludep); \
done; \
for i in $(generated_headers); do \
- echo "$(INSTALL_DATA) $(top_builddir)/$$i $(myincludep)bits/"; \
- $(INSTALL_DATA) $(top_builddir)/$$i $(myincludep)bits/; \
+ echo "$(INSTALL_DATA) $$i $(myincludep)bits/"; \
+ $(INSTALL_DATA) $$i $(myincludep)bits/; \
done; \
libio_headers_install='$(libio_headers)'; \
for i in $$libio_headers_install; do \
$(INSTALL_DATA) $^ $@; \
fi;
-# For the next time we have to handle misc-inst.cc and locale-inst.cc
-# in a special way since we cannot instantiate all classes due to
-# missing definitions for things like vptrs, type_info bits, etc. when
-# using -fno-implicit-templates.
+# All the machinations with string instantiations messes up the
+# automake-genrated TAGS rule. Make a simple one here.
+TAGS: $(generated_headers) $(cpu_headers)
+ etags -C $(top_srcdir)/bits/*.h $(top_srcdir)/bits/*.tcc \
+ $(generated_headers) $(cpu_headers) $(libio_headers) \
+ $(top_srcdir)/src/*.cc \
+ $(top_builddir)/src/limitsMEMBERS.cc $(top_builddir)/src/c++io.cc \
+ -o $(top_builddir)/TAGS
+
+# We have to handle misc-inst.cc and locale-inst.cc in a special way
+# since we cannot instantiate all classes due to missing definitions
+# for things like vptrs, type_info bits, etc. when using
+# -fno-implicit-templates.
misc-inst.o: misc-inst.cc
$(CXXCOMPILE) -fimplicit-templates -c $<
misc-inst.lo: misc-inst.cc