[PATCH] newlib: merge doc into top-level Makefile

Mike Frysinger <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
Avoid a recursive make with this tiny subdir to speed things up a bit.
---
 newlib/Makefile.am      |   29 +-
 newlib/Makefile.in      |   66 +-
 newlib/configure        |   36 +-
 newlib/configure.ac     |   26 +-
 newlib/doc/Makefile.am  |   28 -
 newlib/doc/Makefile.in  |  368 ---
 newlib/doc/aclocal.m4   | 1012 ---------
 newlib/doc/configure    | 4804 ---------------------------------------
 newlib/doc/configure.ac |   43 -
 newlib/doc/local.mk     |   20 +
 10 files changed, 135 insertions(+), 6297 deletions(-)
 delete mode 100644 newlib/doc/Makefile.am
 delete mode 100644 newlib/doc/Makefile.in
 delete mode 100644 newlib/doc/aclocal.m4
 delete mode 100755 newlib/doc/configure
 delete mode 100644 newlib/doc/configure.ac
 create mode 100644 newlib/doc/local.mk

diff --git a/newlib/Makefile.am b/newlib/Makefile.am
index 3a8b99fce3e6..1ab75f9957e7 100644
--- a/newlib/Makefile.am
+++ b/newlib/Makefile.am
@@ -1,8 +1,12 @@
 ## Process this file with automake to generate Makefile.in
 
-AUTOMAKE_OPTIONS = cygnus dejagnu
+AUTOMAKE_OPTIONS = cygnus dejagnu subdir-objects
 ACLOCAL_AMFLAGS = -I . -I ..
 
+# Variables that will accumulate in subdirs.
+PHONY =
+noinst_DATA =
+
 # Multilib support variables.
 MULTISRCTOP =
 MULTIBUILDTOP =
@@ -63,21 +67,15 @@ AM_MAKEFLAGS = \
 
 FLAGS_TO_PASS=$(AM_MAKEFLAGS)
 
-if HAVE_DOC
-DOCDIR = doc
-else
-DOCDIR =
-endif
-
 SUBDIRS = libc libm \
-	$(DOCDIR) . $(EXTRA_DIRS)
+	. $(EXTRA_DIRS)
 
 tooldir = $(exec_prefix)/$(host_alias)
 toollibdir = $(tooldir)/lib$(MULTISUBDIR)
 
 AR_FLAGS = rc
 
-noinst_DATA = stmp-targ-include
+noinst_DATA += stmp-targ-include
 
 if USE_LIBTOOL
 toollib_LTLIBRARIES = libm.la \
@@ -424,10 +422,7 @@ unidata:
 	cd $(srcdir)/libc/ctype; ./mkunidata -u
 
 # Force makedoc to be built before building info files.
-info-recursive: doc/makedoc
-dvi-recursive: doc/makedoc
-doc/makedoc:
-	cd doc && $(MAKE) all
+info-recursive dvi-recursive: doc/makedoc$(EXEEXT_FOR_BUILD)
 
 # Recursive targets for man and install-man
 man:
@@ -448,7 +443,7 @@ install-man:
 CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
 
 # Multilib support.
-.PHONY: all-multi check-multi mostlyclean-multi clean-multi distclean-multi \
+PHONY += all-multi check-multi mostlyclean-multi clean-multi distclean-multi \
 	maintainer-clean-multi
 
 all-recursive: all-multi
@@ -540,3 +535,9 @@ check-DEJAGNU: site.exp
 
 clean-local:
 	-rm -rf targ-include newlib.h _newlib_version.h stamp-*
+
+if HAVE_DOC
+include doc/local.mk
+endif
+
+.PHONY: $(PHONY)
diff --git a/newlib/Makefile.in b/newlib/Makefile.in
index 266b61a8a8ad..dede75fcf642 100644
--- a/newlib/Makefile.in
+++ b/newlib/Makefile.in
@@ -55,11 +55,16 @@ build_triplet = @build@
 host_triplet = @host@
 @HAVE_CRT0_TRUE@@HAVE_MULTISUBDIR_TRUE@@USE_LIBTOOL_FALSE@am__append_1 = $(BUILD_MULTISUBDIR)/$(CRT0)
 @HAVE_MULTISUBDIR_TRUE@@USE_LIBTOOL_FALSE@am__append_2 = $(BUILD_MULTISUBDIR)/libc.a $(BUILD_MULTISUBDIR)/libm.a
+DIST_COMMON = $(srcdir)/doc/local.mk NEWS README ChangeLog \
+	$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+	$(top_srcdir)/configure $(am__configure_deps) acconfig.h \
+	$(srcdir)/_newlib_version.hin $(srcdir)/newlib.hin \
+	$(srcdir)/../mkinstalldirs
+
+# We can't use noinst_PROGRAMS, because automake will add $(EXEEXT).
+@HAVE_DOC_TRUE@am__append_3 = doc/makedoc
+@HAVE_DOC_TRUE@am__append_4 = man-cache
 subdir = .
-DIST_COMMON = NEWS README ChangeLog $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am $(top_srcdir)/configure \
-	$(am__configure_deps) acconfig.h $(srcdir)/_newlib_version.hin \
-	$(srcdir)/newlib.hin $(srcdir)/../mkinstalldirs
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
 	$(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \
@@ -171,7 +176,7 @@ RUNTEST = `if test -f $(top_srcdir)/../dejagnu/runtest; then \
 	   else \
 	     echo runtest; \
 	   fi`
-DIST_SUBDIRS = libc libm doc . @EXTRA_DIRS@
+DIST_SUBDIRS = $(SUBDIRS)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 AR = @AR@
@@ -187,7 +192,6 @@ CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
 CC_FOR_NEWLIB = @CC_FOR_NEWLIB@
 CFLAGS = @CFLAGS@
-CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CRT0 = @CRT0@
 CRT0_DIR = @CRT0_DIR@
@@ -204,6 +208,7 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
 EXTRA_DIRS = @EXTRA_DIRS@
 FGREP = @FGREP@
 GREP = @GREP@
@@ -306,6 +311,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 shared_machine_dir = @shared_machine_dir@
 sharedstatedir = @sharedstatedir@
@@ -317,9 +323,17 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = cygnus dejagnu
+AUTOMAKE_OPTIONS = cygnus dejagnu subdir-objects
 ACLOCAL_AMFLAGS = -I . -I ..
 
+# Variables that will accumulate in subdirs.
+
+# Multilib support.
+PHONY = all-multi check-multi mostlyclean-multi clean-multi \
+	distclean-multi maintainer-clean-multi $(am__append_4)
+noinst_DATA = stmp-targ-include $(am__append_1) $(am__append_2) \
+	$(am__append_3)
+
 # Multilib support variables.
 MULTISRCTOP = 
 MULTIBUILDTOP = 
@@ -375,15 +389,12 @@ AM_MAKEFLAGS = \
 	"DESTDIR=$(DESTDIR)"
 
 FLAGS_TO_PASS = $(AM_MAKEFLAGS)
-@HAVE_DOC_FALSE@DOCDIR = 
-@HAVE_DOC_TRUE@DOCDIR = doc
 SUBDIRS = libc libm \
-	$(DOCDIR) . $(EXTRA_DIRS)
+	. $(EXTRA_DIRS)
 
 tooldir = $(exec_prefix)/$(host_alias)
 toollibdir = $(tooldir)/lib$(MULTISUBDIR)
 AR_FLAGS = rc
-noinst_DATA = stmp-targ-include $(am__append_1) $(am__append_2)
 @USE_LIBTOOL_TRUE@toollib_LTLIBRARIES = libm.la \
 @USE_LIBTOOL_TRUE@	libc.la
 
@@ -449,6 +460,7 @@ MAKEOVERRIDES =
 
 # dejagnu support
 RUNTESTFLAGS = 
+@HAVE_DOC_TRUE@MKDOC = doc/makedoc$(EXEEXT_FOR_BUILD)
 all: _newlib_version.h newlib.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
@@ -456,7 +468,7 @@ all: _newlib_version.h newlib.h
 .SUFFIXES: .c .lo .o .obj
 am--refresh: Makefile
 	@:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/doc/local.mk $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
@@ -479,6 +491,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
 	esac;
+$(srcdir)/doc/local.mk:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	$(SHELL) ./config.status --recheck
@@ -594,10 +607,10 @@ distclean-compile:
 	-rm -f *.tab.c
 
 .c.o:
-	$(COMPILE) -c $<
+	$(COMPILE) -c -o $@ $<
 
 .c.obj:
-	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+	$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 	$(LTCOMPILE) -c -o $@ $<
@@ -1172,10 +1185,7 @@ unidata:
 	cd $(srcdir)/libc/ctype; ./mkunidata -u
 
 # Force makedoc to be built before building info files.
-info-recursive: doc/makedoc
-dvi-recursive: doc/makedoc
-doc/makedoc:
-	cd doc && $(MAKE) all
+info-recursive dvi-recursive: doc/makedoc$(EXEEXT_FOR_BUILD)
 
 # Recursive targets for man and install-man
 man:
@@ -1193,10 +1203,6 @@ install-man:
 	  fi; \
 	done
 
-# Multilib support.
-.PHONY: all-multi check-multi mostlyclean-multi clean-multi distclean-multi \
-	maintainer-clean-multi
-
 all-recursive: all-multi
 check-recursive: check-multi
 mostlyclean-recursive: mostlyclean-multi
@@ -1281,6 +1287,22 @@ check-DEJAGNU: site.exp
 clean-local:
 	-rm -rf targ-include newlib.h _newlib_version.h stamp-*
 
+# We don't use CFLAGS with CC_FOR_BUILD because here CFLAGS will
+# actually be CFLAGS_FOR_TARGET, and in some cases that will include
+# -Os, which CC_FOR_BUILD may not recognize.
+
+@HAVE_DOC_TRUE@$(MKDOC): doc/makedoc.o
+@HAVE_DOC_TRUE@	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ $<
+
+@HAVE_DOC_TRUE@doc/makedoc.o: doc/makedoc.c
+@HAVE_DOC_TRUE@	$(MKDIR_P) doc
+@HAVE_DOC_TRUE@	$(CC_FOR_BUILD) -g $(CFLAGS_FOR_BUILD) -o $@ -c $<
+
+@HAVE_DOC_TRUE@man-cache:
+@HAVE_DOC_TRUE@	${srcdir}/doc/makedocbook.py --cache
+
+.PHONY: $(PHONY)
+
 # 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:
diff --git a/newlib/configure b/newlib/configure
index 2771fa263102..ce2fb55d2c43 100755
--- a/newlib/configure
+++ b/newlib/configure
@@ -618,6 +618,7 @@ HAVE_LONG_DOUBLE_FALSE
 HAVE_LONG_DOUBLE_TRUE
 libc_cv_cc_loop_to_function
 libc_cv_initfinit_array
+EXEEXT_FOR_BUILD
 CC_FOR_BUILD
 STDIO64_OBJECTLIST
 UNIX_OBJECTLIST
@@ -838,7 +839,6 @@ CPPFLAGS
 CPP'
 ac_subdirs_all='libc
 libm
-doc
 iconvdata'
 
 # Initialize some variables set by options.
@@ -12237,8 +12237,6 @@ subdirs="$subdirs libm"
 
 if test -z "${with_multisubdir}"; then
   have_multisubdir=no
-  subdirs="$subdirs doc"
-
 else
   have_multisubdir=yes
 fi
@@ -12355,7 +12353,37 @@ fi
 
 # Put a plausible default for CC_FOR_BUILD in Makefile.
 if test -z "$CC_FOR_BUILD"; then
-  CC_FOR_BUILD=gcc
+  if test "x$cross_compiling" = "xno"; then
+    CC_FOR_BUILD='$(CC)'
+  else
+    CC_FOR_BUILD=gcc
+  fi
+fi
+
+
+# Also set EXEEXT_FOR_BUILD.
+if test "x$cross_compiling" = "xno"; then
+  EXEEXT_FOR_BUILD='$(EXEEXT)'
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for build system executable suffix" >&5
+$as_echo_n "checking for build system executable suffix... " >&6; }
+if ${newlib_cv_build_exeext+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat > ac_c_test.c << 'EOF'
+int main() {
+/* Nothing needed here */
+}
+EOF
+    ${CC_FOR_BUILD} -o ac_c_test am_c_test.c 1>&5 2>&5
+    newlib_cv_build_exeext=`echo ac_c_test.* | grep -v ac_c_test.c | sed -e s/ac_c_test//`
+    rm -f ac_c_test*
+    test x"${newlib_cv_build_exeext}" = x && newlib_cv_build_exeext=no
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $newlib_cv_build_exeext" >&5
+$as_echo "$newlib_cv_build_exeext" >&6; }
+  EXEEXT_FOR_BUILD=""
+  test x"${newlib_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${newlib_cv_build_exeext}
 fi
 
 
diff --git a/newlib/configure.ac b/newlib/configure.ac
index 67597bb48c4a..49a1b5fddc89 100644
--- a/newlib/configure.ac
+++ b/newlib/configure.ac
@@ -303,7 +303,6 @@ AC_CONFIG_SUBDIRS(libm)
 
 if test -z "${with_multisubdir}"; then
   have_multisubdir=no
-  AC_CONFIG_SUBDIRS(doc)
 else
   have_multisubdir=yes
 fi
@@ -398,10 +397,33 @@ AC_SUBST(STDIO64_OBJECTLIST)
 
 # Put a plausible default for CC_FOR_BUILD in Makefile.
 if test -z "$CC_FOR_BUILD"; then
-  CC_FOR_BUILD=gcc
+  if test "x$cross_compiling" = "xno"; then
+    CC_FOR_BUILD='$(CC)'
+  else
+    CC_FOR_BUILD=gcc
+  fi
 fi
 AC_SUBST(CC_FOR_BUILD)
 
+# Also set EXEEXT_FOR_BUILD.
+if test "x$cross_compiling" = "xno"; then
+  EXEEXT_FOR_BUILD='$(EXEEXT)'
+else
+  AC_CACHE_CHECK([for build system executable suffix], newlib_cv_build_exeext,
+    [cat > ac_c_test.c << 'EOF'
+int main() {
+/* Nothing needed here */
+}
+EOF
+    ${CC_FOR_BUILD} -o ac_c_test am_c_test.c 1>&5 2>&5
+    newlib_cv_build_exeext=`echo ac_c_test.* | grep -v ac_c_test.c | sed -e s/ac_c_test//`
+    rm -f ac_c_test*
+    test x"${newlib_cv_build_exeext}" = x && newlib_cv_build_exeext=no])
+  EXEEXT_FOR_BUILD=""
+  test x"${newlib_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${newlib_cv_build_exeext}
+fi
+AC_SUBST(EXEEXT_FOR_BUILD)
+
 if test "${newlib_elix_level}" -gt "0"; then
 AC_DEFINE_UNQUOTED(_ELIX_LEVEL,${newlib_elix_level})
 fi
diff --git a/newlib/doc/Makefile.am b/newlib/doc/Makefile.am
deleted file mode 100644
index dbebfcc9a94b..000000000000
--- a/newlib/doc/Makefile.am
+++ /dev/null
@@ -1,28 +0,0 @@
-## Process this file with automake to generate Makefile.in
-
-AUTOMAKE_OPTIONS = cygnus
-
-# We can't use noinst_PROGRAMS, because automake will add $(EXEEXT).
-noinst_DATA = makedoc
-
-MKDOC = makedoc$(EXEEXT_FOR_BUILD)
-
-# We don't use CFLAGS with CC_FOR_BUILD because here CFLAGS will
-# actually be CFLAGS_FOR_TARGET, and in some cases that will include
-# -Os, which CC_FOR_BUILD may not recognize.
-
-$(MKDOC): makedoc.o
-	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $(MKDOC) makedoc.o
-
-makedoc.o: makedoc.c
-	$(CC_FOR_BUILD) -g $(CFLAGS_FOR_BUILD) -c $(srcdir)/makedoc.c
-
-ACLOCAL_AMFLAGS = -I .. -I ../..
-CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
-
-man:
-
-man-cache:
-	${srcdir}/makedocbook.py --cache
-
-.PHONY: man-cache
diff --git a/newlib/doc/Makefile.in b/newlib/doc/Makefile.in
deleted file mode 100644
index 46b0869c7ab3..000000000000
--- a/newlib/doc/Makefile.in
+++ /dev/null
diff --git a/newlib/doc/aclocal.m4 b/newlib/doc/aclocal.m4
deleted file mode 100644
index 782a9e5ded50..000000000000
--- a/newlib/doc/aclocal.m4
+++ /dev/null
diff --git a/newlib/doc/configure b/newlib/doc/configure
deleted file mode 100755
index 68a99892611d..000000000000
--- a/newlib/doc/configure
+++ /dev/null
diff --git a/newlib/doc/configure.ac b/newlib/doc/configure.ac
deleted file mode 100644
index 28428a9082cb..000000000000
--- a/newlib/doc/configure.ac
+++ /dev/null
@@ -1,43 +0,0 @@
-dnl This is the newlib/doc configure.in file.
-dnl Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.59)
-AC_INIT([newlib],[NEWLIB_VERSION])
-AC_CONFIG_SRCDIR([makedoc.c])
-
-dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. 
-AC_CONFIG_AUX_DIR(../..)
-
-NEWLIB_CONFIGURE(..)
-
-# Put a plausible default for CC_FOR_BUILD in Makefile.
-if test -z "$CC_FOR_BUILD"; then
-  if test "x$cross_compiling" = "xno"; then
-    CC_FOR_BUILD='$(CC)'
-  else
-    CC_FOR_BUILD=gcc
-  fi
-fi
-AC_SUBST(CC_FOR_BUILD)
-
-# Also set EXEEXT_FOR_BUILD.
-if test "x$cross_compiling" = "xno"; then
-  EXEEXT_FOR_BUILD='$(EXEEXT)'
-else
-  AC_CACHE_CHECK([for build system executable suffix], newlib_cv_build_exeext,
-    [cat > ac_c_test.c << 'EOF'
-int main() {
-/* Nothing needed here */
-}
-EOF
-    ${CC_FOR_BUILD} -o ac_c_test am_c_test.c 1>&5 2>&5
-    newlib_cv_build_exeext=`echo ac_c_test.* | grep -v ac_c_test.c | sed -e s/ac_c_test//`
-    rm -f ac_c_test*
-    test x"${newlib_cv_build_exeext}" = x && newlib_cv_build_exeext=no])
-  EXEEXT_FOR_BUILD=""
-  test x"${newlib_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${newlib_cv_build_exeext}
-fi
-AC_SUBST(EXEEXT_FOR_BUILD)
-
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
diff --git a/newlib/doc/local.mk b/newlib/doc/local.mk
new file mode 100644
index 000000000000..64083c3dd600
--- /dev/null
+++ b/newlib/doc/local.mk
@@ -0,0 +1,20 @@
+# We can't use noinst_PROGRAMS, because automake will add $(EXEEXT).
+noinst_DATA += doc/makedoc
+
+MKDOC = doc/makedoc$(EXEEXT_FOR_BUILD)
+
+# We don't use CFLAGS with CC_FOR_BUILD because here CFLAGS will
+# actually be CFLAGS_FOR_TARGET, and in some cases that will include
+# -Os, which CC_FOR_BUILD may not recognize.
+
+$(MKDOC): doc/makedoc.o
+	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ $<
+
+doc/makedoc.o: doc/makedoc.c
+	$(MKDIR_P) doc
+	$(CC_FOR_BUILD) -g $(CFLAGS_FOR_BUILD) -o $@ -c $<
+
+man-cache:
+	${srcdir}/doc/makedocbook.py --cache
+
+PHONY += man-cache
-- 
2.33.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.