newlib: switch to multilib.am

We use the common config-ml.in for configure, so switch the makefile
over to the common multilib.am.  It's almost exactly the same code,
but there are two differences:
* Common code hooks install-exec-local for install-multi, but newlib
  doesn't currently install any executables, so that doesn't fire.
  Newlib already has install-data-local that inlined install-multi,
  so switch that to the common install-multi.
* Common code doesn't provide a check-multi at all.  Keep ours for
  now.  Some day common code might get it.  Or not.  Who knows.
This commit is contained in:
Mike Frysinger 2022-01-23 20:04:59 -05:00
parent 08a55a233d
commit ee3ed2b65e
2 changed files with 53 additions and 74 deletions

View File

@ -7,14 +7,6 @@ ACLOCAL_AMFLAGS = -I . -I .. -I ../config
PHONY =
noinst_DATA =
# Multilib support variables.
MULTISRCTOP =
MULTIBUILDTOP =
MULTIDIRS =
MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true
LIBTOOL_VERSION_INFO = 0:0:0
# The newlib hardware floating-point routines have been disabled due to
@ -312,13 +304,15 @@ stmp-targ-include: config.status
CLEANFILES = stmp-targ-include
install-data-local: install-toollibLIBRARIES
## We hook install-multi because this Makefile doesn't have any exec targets,
## only data targets. If that ever changes, this should be removed and the
## install-exec-local in ../multilib.am will kick in.
install-data-local: install-toollibLIBRARIES install-multi
if USE_LIBTOOL
else
rm -f $(DESTDIR)$(toollibdir)/libg.a
ln $(DESTDIR)$(toollibdir)/libc.a $(DESTDIR)$(toollibdir)/libg.a >/dev/null 2>/dev/null || cp $(DESTDIR)$(toollibdir)/libc.a $(DESTDIR)$(toollibdir)/libg.a
endif
$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
-if [ -z "$(MULTISUBDIR)" ]; then \
$(mkinstalldirs) $(DESTDIR)$(tooldir)/include; \
for i in $(srcdir)/libc/include/*.h; do \
@ -442,30 +436,10 @@ install-man:
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
# Multilib support.
PHONY += all-multi check-multi mostlyclean-multi clean-multi distclean-multi \
maintainer-clean-multi
include ../multilib.am
all-recursive: all-multi
check-recursive: check-multi
mostlyclean-recursive: mostlyclean-multi
clean-recursive: clean-multi
distclean-recursive: distclean-multi
maintainer-clean-recursive: maintainer-clean-multi
# The $(MAKE) comments below are to enable parallel building.
all-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
check-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=check multi-do # $(MAKE)
mostlyclean-multi:
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
clean-multi:
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
distclean-multi:
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
maintainer-clean-multi:
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
MAKEOVERRIDES=

View File

@ -416,20 +416,9 @@ AUTOMAKE_OPTIONS = dejagnu
ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# 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)
PHONY = $(am__append_4)
noinst_DATA = stmp-targ-include $(am__append_1) $(am__append_2) \
$(am__append_3)
# Multilib support variables.
MULTISRCTOP =
MULTIBUILDTOP =
MULTIDIRS =
MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true
LIBTOOL_VERSION_INFO = 0:0:0
@NEWLIB_HW_FP_FALSE@MATHDIR = math
@ -545,6 +534,12 @@ libc_la_LDFLAGS = -version-info $(LIBTOOL_VERSION_INFO) -release newlib -no-unde
@USE_LIBTOOL_TRUE@libc_la_DEPENDENCIES = libc-libtool-objectlist
CLEANFILES = stmp-targ-include
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
MULTISRCTOP =
MULTIBUILDTOP =
MULTIDIRS =
MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true
MAKEOVERRIDES =
# dejagnu support
@ -557,7 +552,7 @@ all: newlib.h _newlib_version.h
.SUFFIXES: .c .lo .o .obj
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/doc/local.mk $(am__configure_deps)
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../multilib.am $(srcdir)/doc/local.mk $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@ -579,7 +574,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 $(am__empty):
$(srcdir)/../multilib.am $(srcdir)/doc/local.mk $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
@ -855,7 +850,7 @@ check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
check: check-recursive
all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h \
_newlib_version.h
_newlib_version.h all-local
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \
@ -902,7 +897,7 @@ distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-DEJAGNU distclean-compile \
distclean-generic distclean-hdr distclean-libtool \
distclean-tags
distclean-local distclean-tags
dvi: dvi-recursive
@ -923,7 +918,7 @@ install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-exec-am: install-exec-local
install-html: install-html-recursive
@ -947,12 +942,13 @@ maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
maintainer-clean-am: distclean-am maintainer-clean-generic \
maintainer-clean-local
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
mostlyclean-libtool mostlyclean-local
pdf: pdf-recursive
@ -967,24 +963,25 @@ uninstall-am: uninstall-toollibDATA uninstall-toollibLIBRARIES \
.MAKE: $(am__recursive_targets) all check-am install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
am--refresh check check-DEJAGNU check-am clean clean-cscope \
clean-generic clean-libtool clean-local clean-toollibLIBRARIES \
clean-toollibLTLIBRARIES cscope cscopelist-am ctags ctags-am \
distclean distclean-DEJAGNU distclean-compile \
distclean-generic distclean-hdr distclean-libtool \
distclean-tags dvi dvi-am html html-am info info-am install \
install-am install-data install-data-am install-data-local \
install-dvi install-dvi-am install-exec install-exec-am \
install-html install-html-am install-info install-info-am \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-strip install-toollibDATA \
install-toollibLIBRARIES install-toollibLTLIBRARIES \
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic mostlyclean \
distclean-local distclean-tags dvi dvi-am html html-am info \
info-am install install-am install-data install-data-am \
install-data-local install-dvi install-dvi-am install-exec \
install-exec-am install-exec-local install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip install-toollibDATA install-toollibLIBRARIES \
install-toollibLTLIBRARIES installcheck installcheck-am \
installdirs installdirs-am maintainer-clean \
maintainer-clean-generic maintainer-clean-local mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
uninstall-toollibDATA uninstall-toollibLIBRARIES \
mostlyclean-local pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-toollibDATA uninstall-toollibLIBRARIES \
uninstall-toollibLTLIBRARIES
.PRECIOUS: Makefile
@ -1145,10 +1142,9 @@ stmp-targ-include: config.status
$(MAKE) targ-include/newlib.h
touch $@
install-data-local: install-toollibLIBRARIES
install-data-local: install-toollibLIBRARIES install-multi
@USE_LIBTOOL_FALSE@ rm -f $(DESTDIR)$(toollibdir)/libg.a
@USE_LIBTOOL_FALSE@ ln $(DESTDIR)$(toollibdir)/libc.a $(DESTDIR)$(toollibdir)/libg.a >/dev/null 2>/dev/null || cp $(DESTDIR)$(toollibdir)/libc.a $(DESTDIR)$(toollibdir)/libg.a
$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
-if [ -z "$(MULTISUBDIR)" ]; then \
$(mkinstalldirs) $(DESTDIR)$(tooldir)/include; \
for i in $(srcdir)/libc/include/*.h; do \
@ -1270,18 +1266,13 @@ install-man:
fi; \
done
all-recursive: all-multi
check-recursive: check-multi
mostlyclean-recursive: mostlyclean-multi
clean-recursive: clean-multi
distclean-recursive: distclean-multi
maintainer-clean-recursive: maintainer-clean-multi
# The $(MAKE) comments below are to enable parallel building.
# GNU Make needs to see an explicit $(MAKE) variable in the command it
# runs to enable its job server during parallel builds. Hence the
# comments below.
all-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
check-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=check multi-do # $(MAKE)
install-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
mostlyclean-multi:
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
clean-multi:
@ -1291,6 +1282,20 @@ distclean-multi:
maintainer-clean-multi:
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
.MAKE .PHONY: all-multi clean-multi distclean-multi install-am \
install-multi maintainer-clean-multi mostlyclean-multi
install-exec-local: install-multi
all-local: all-multi
mostlyclean-local: mostlyclean-multi
clean-local: clean-multi
distclean-local: distclean-multi
maintainer-clean-local: maintainer-clean-multi
check-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=check multi-do # $(MAKE)
site.exp: Makefile
@echo 'Making a new site.exp file...'
@test ! -f site.bak || rm -f site.bak