mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-19 12:59:21 +08:00
a4e734fcdb
The 'cygnus' option was removed from automake 1.13 in 2012, so the presence of this option prevents that or a later version of automake being used. A check-list of the effects of '--cygnus' from the automake 1.12 documentation, and steps taken (where possible) to preserve those effects (See also this thread [1] for discussion on that): [1] https://lists.gnu.org/archive/html/bug-automake/2012-03/msg00048.html 1. The foreign strictness is implied. Already present in AM_INIT_AUTOMAKE in newlib/acinclude.m4 2. The options no-installinfo, no-dependencies and no-dist are implied. Already present in AM_INIT_AUTOMAKE in newlib/acinclude.m4 Future work: Remove no-dependencies and any explicit header dependencies, and use automatic dependency tracking instead. Are there explicit rules which are now redundant to removing no-installinfo and no-dist? 3. The macro AM_MAINTAINER_MODE is required. Already present in newlib/acinclude.m4 Note that maintainer-mode is still disabled by default. 4. Info files are always created in the build directory, and not in the source directory. This appears to be an error in the automake documentation describing '--cygnus' [2]. newlib's info files are generated in the source directory, and no special steps are needed to keep doing that. [2] https://lists.gnu.org/archive/html/bug-automake/2012-04/msg00028.html 5. texinfo.tex is not required if a Texinfo source file is specified. (The assumption is that the file will be supplied, but in a place that automake cannot find.) This effect is overriden by an explicit setting of the TEXINFO_TEX variable (the directory part of which is fed into texi2X via the TEXINPUTS environment variable). 6. Certain tools will be searched for in the build tree as well as in the user's PATH. These tools are runtest, expect, makeinfo and texi2dvi. For obscure automake reasons, this effect of '--cygnus' is not active for makeinfo in newlib's configury. However, there appears to be top-level configury which selects in-tree runtest, expect and makeinfo, if present. So, if that works as it appears, this effect is preserved. If not, this may cause problem if anyone is building those tools in-tree. This effect is not preserved for texi2dvi. This may cause problems if anyone is building texinfo in-tree. If needed, explicit checks for those tools looking in places relative to $(top_srcdir)/../ as well as in PATH could be added. 7. The check target doesn't depend on all. This effect is not preseved. The check target now depends on the all target. This concern seems somewhat academic given the current state of the testsuite. Also note that this doesn't touch libgloss.
544 lines
17 KiB
Makefile
544 lines
17 KiB
Makefile
## Process this file with automake to generate Makefile.in
|
|
|
|
AUTOMAKE_OPTIONS = dejagnu subdir-objects
|
|
ACLOCAL_AMFLAGS = -I . -I ..
|
|
|
|
# Variables that will accumulate in subdirs.
|
|
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
|
|
# inaccuracy. If you wish to work on them, you will need to edit the
|
|
# configure.in file to re-enable the configuration option. By default,
|
|
# the NEWLIB_HW_FP variable will always be false.
|
|
if NEWLIB_HW_FP
|
|
MATHDIR = mathfp
|
|
else
|
|
MATHDIR = math
|
|
endif
|
|
|
|
# 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.
|
|
AM_MAKEFLAGS = \
|
|
"AR_FLAGS=$(AR_FLAGS)" \
|
|
"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
|
|
"CFLAGS=$(CFLAGS)" \
|
|
"CCASFLAGS=$(CCASFLAGS)" \
|
|
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
|
|
"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
|
|
"INSTALL=$(INSTALL)" \
|
|
"LDFLAGS=$(LDFLAGS)" \
|
|
"LIBCFLAGS=$(LIBCFLAGS)" \
|
|
"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
|
|
"MAKE=$(MAKE)" \
|
|
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
|
|
"PICFLAG=$(PICFLAG)" \
|
|
"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
|
|
"SHELL=$(SHELL)" \
|
|
"EXPECT=$(EXPECT)" \
|
|
"RUNTEST=$(RUNTEST)" \
|
|
"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
|
|
"exec_prefix=$(exec_prefix)" \
|
|
"infodir=$(infodir)" \
|
|
"libdir=$(libdir)" \
|
|
"prefix=$(prefix)" \
|
|
"tooldir=$(tooldir)" \
|
|
"top_toollibdir=$(toollibdir)" \
|
|
"AR=$(AR)" \
|
|
"AS=$(AS)" \
|
|
"CC=$(CC_FOR_NEWLIB)" \
|
|
"LD=$(LD)" \
|
|
"LIBCFLAGS=$(LIBCFLAGS)" \
|
|
"NM=$(NM)" \
|
|
"PICFLAG=$(PICFLAG)" \
|
|
"RANLIB=$(RANLIB)" \
|
|
"DESTDIR=$(DESTDIR)"
|
|
|
|
FLAGS_TO_PASS=$(AM_MAKEFLAGS)
|
|
|
|
SUBDIRS = libc libm \
|
|
. $(EXTRA_DIRS)
|
|
|
|
tooldir = $(exec_prefix)/$(host_alias)
|
|
toollibdir = $(tooldir)/lib$(MULTISUBDIR)
|
|
|
|
AR_FLAGS = rc
|
|
|
|
noinst_DATA += stmp-targ-include
|
|
|
|
if USE_LIBTOOL
|
|
toollib_LTLIBRARIES = libm.la \
|
|
libc.la
|
|
else
|
|
toollib_LIBRARIES = libm.a \
|
|
libc.a
|
|
if HAVE_MULTISUBDIR
|
|
BUILD_MULTISUBDIR = $(builddir)$(MULTISUBDIR)
|
|
if HAVE_CRT0
|
|
noinst_DATA += $(BUILD_MULTISUBDIR)/$(CRT0)
|
|
endif
|
|
noinst_DATA += $(BUILD_MULTISUBDIR)/libc.a $(BUILD_MULTISUBDIR)/libm.a
|
|
endif
|
|
endif
|
|
|
|
toollib_DATA = $(CRT0) $(CRT1)
|
|
|
|
# The functions ldexp, frexp and modf are traditionally supplied in
|
|
# both libc.a and libm.a. We build them in libm.a and copy them over,
|
|
# along with some required supporting routines.
|
|
MATHOBJS_IN_LIBC = \
|
|
$(lpfx)s_fpclassify.$(oext) $(lpfx)sf_fpclassify.$(oext) \
|
|
$(lpfx)s_isinf.$(oext) $(lpfx)sf_isinf.$(oext) \
|
|
$(lpfx)s_isnan.$(oext) $(lpfx)sf_isnan.$(oext) \
|
|
$(lpfx)s_isinfd.$(oext) $(lpfx)sf_isinff.$(oext) \
|
|
$(lpfx)s_isnand.$(oext) $(lpfx)sf_isnanf.$(oext) \
|
|
$(lpfx)s_nan.$(oext) $(lpfx)sf_nan.$(oext) \
|
|
$(lpfx)s_ldexp.$(oext) $(lpfx)sf_ldexp.$(oext) \
|
|
$(lpfx)s_frexp.$(oext) $(lpfx)sf_frexp.$(oext) $(lpfx)frexpl.$(oext) \
|
|
$(lpfx)s_modf.$(oext) \
|
|
$(lpfx)sf_modf.$(oext) $(lpfx)s_scalbn.$(oext) \
|
|
$(lpfx)sf_scalbn.$(oext) \
|
|
$(lpfx)s_finite.$(oext) $(lpfx)sf_finite.$(oext) \
|
|
$(lpfx)s_copysign.$(oext) $(lpfx)sf_copysign.$(oext)
|
|
|
|
LIBC_OBJECTLISTS = \
|
|
$(POSIX_OBJECTLIST) \
|
|
$(SIGNAL_OBJECTLIST) \
|
|
$(SYSCALL_OBJECTLIST) \
|
|
$(UNIX_OBJECTLIST) \
|
|
$(STDIO64_OBJECTLIST) \
|
|
libc/argz/objectlist.awk.in \
|
|
libc/stdlib/objectlist.awk.in \
|
|
libc/time/objectlist.awk.in \
|
|
libc/ctype/objectlist.awk.in \
|
|
libc/search/objectlist.awk.in \
|
|
libc/string/objectlist.awk.in \
|
|
libc/locale/objectlist.awk.in \
|
|
libc/misc/objectlist.awk.in \
|
|
libc/reent/objectlist.awk.in \
|
|
libc/errno/objectlist.awk.in \
|
|
libc/stdio/objectlist.awk.in \
|
|
$(MACHINE_OBJECTLIST) \
|
|
$(SYS_OBJECTLIST) \
|
|
$(SYS_MACH_OBJECTLIST)
|
|
|
|
LIBM_OBJECTLISTS = \
|
|
libm/$(MATHDIR)/objectlist.awk.in \
|
|
libm/common/objectlist.awk.in \
|
|
$(LIBM_MACHINE_OBJECTLIST)
|
|
|
|
libm_la_LDFLAGS = -version-info $(LIBTOOL_VERSION_INFO) -release newlib -no-undefined -Xcompiler -nostdlib -Xlinker --version-script=$(srcdir)/libc/sys/linux/shared.ld -lgcc -objectlist libm-libtool-objectlist
|
|
|
|
libc_la_LDFLAGS = -version-info $(LIBTOOL_VERSION_INFO) -release newlib -no-undefined -Xcompiler -nostdlib -Xlinker --version-script=$(srcdir)/libc/sys/linux/shared.ld -lgcc -objectlist libc-libtool-objectlist
|
|
|
|
if USE_LIBTOOL
|
|
libm_la_SOURCES =
|
|
libm_la_DEPENDENCIES = libm-libtool-objectlist
|
|
|
|
# objects listed later in LIBM_OBJECTLISTS will override those listed earlier
|
|
libm-libtool-objectlist: $(LIBM_OBJECTLISTS)
|
|
cat $(LIBM_OBJECTLISTS) | $(AWK) '{ libm[$$1] = $$2 }; END { for (x in libm) printf ("%s\n", libm[x]) }' > $@
|
|
|
|
libc_la_SOURCES =
|
|
libc_la_DEPENDENCIES = libc-libtool-objectlist
|
|
|
|
# objects listed later in LIBM_OBJECTLISTS and LIBC_OBJECTLISTS will override those listed earlier
|
|
libc-libtool-objectlist: $(LIBM_OBJECTLISTS) $(LIBC_OBJECTLISTS)
|
|
cat $(LIBM_OBJECTLISTS) $(LIBC_OBJECTLISTS) | $(AWK) '{ libc[$$1] = $$2 }; END { for (x in libc) printf ("%s\n", libc[x]) }' > $@
|
|
|
|
else
|
|
|
|
libc.a: libc/libc.a libm.a
|
|
rm -rf libc.a libg.a tmp
|
|
mkdir tmp
|
|
cd tmp; \
|
|
$(AR) x ../libm.a $(MATHOBJS_IN_LIBC) ; \
|
|
$(AR) x ../libc/libc.a ; \
|
|
$(AR) $(AR_FLAGS) ../$@ *.o
|
|
$(RANLIB) libc.a
|
|
ln libc.a libg.a >/dev/null 2>/dev/null || cp libc.a libg.a
|
|
rm -rf tmp
|
|
|
|
libc/libc.a: ; @true
|
|
|
|
libm.a: libm/libm.a
|
|
rm -f $@
|
|
ln $< $@ >/dev/null 2>/dev/null || cp $< $@
|
|
|
|
libm/libm.a: ; @true
|
|
|
|
endif # USE_LIBTOOL
|
|
|
|
if HAVE_MULTISUBDIR
|
|
$(BUILD_MULTISUBDIR):
|
|
$(MKDIR_P) $@
|
|
|
|
$(BUILD_MULTISUBDIR)/crt0.o: $(CRT0_DIR)$(CRT0) $(BUILD_MULTISUBDIR)
|
|
rm -f $@
|
|
ln $< $@ >/dev/null 2>/dev/null || cp $< $@
|
|
|
|
$(BUILD_MULTISUBDIR)/libc.a: libc.a $(BUILD_MULTISUBDIR)
|
|
rm -f $@ $(BUILD_MULTISUBDIR)/libg.a
|
|
ln $< $@ >/dev/null 2>/dev/null || cp $< $@
|
|
ln libg.a $(BUILD_MULTISUBDIR)/libg.a >/dev/null 2>/dev/null || \
|
|
cp libg.a $(BUILD_MULTISUBDIR)/libg.a
|
|
|
|
$(BUILD_MULTISUBDIR)/libm.a: libm.a $(BUILD_MULTISUBDIR)
|
|
rm -f $@
|
|
ln $< $@ >/dev/null 2>/dev/null || cp $< $@
|
|
endif
|
|
|
|
crt0.o: $(CRT0_DIR)$(CRT0)
|
|
rm -f $@
|
|
ln $< $@ >/dev/null 2>/dev/null || cp $< $@
|
|
|
|
$(CRT0_DIR)$(CRT0): ; @true
|
|
|
|
crt1.o: $(CRT1_DIR)$(CRT1)
|
|
rm -f $@
|
|
ln $< $@ >/dev/null 2>/dev/null || cp $< $@
|
|
|
|
$(CRT1_DIR)$(CRT1): ; @true
|
|
|
|
targ-include:
|
|
mkdir $@
|
|
|
|
targ-include/newlib.h: targ-include/_newlib_version.h
|
|
|
|
targ-include/sys targ-include/machine targ-include/bits: targ-include/_newlib_version.h targ-include/newlib.h
|
|
mkdir $@
|
|
|
|
targ-include/newlib.h: newlib.h targ-include
|
|
cp newlib.h $@
|
|
|
|
targ-include/_newlib_version.h: _newlib_version.h targ-include
|
|
cp _newlib_version.h $@
|
|
|
|
all-recursive: stmp-targ-include
|
|
|
|
# The targ-include directory just holds the includes files for the
|
|
# particular system and machine we have been configured for. It is
|
|
# used while building.
|
|
stmp-targ-include: config.status
|
|
-rm -rf targ-include stmp-targ-include
|
|
$(MAKE) targ-include/sys \
|
|
targ-include/machine \
|
|
targ-include/bits
|
|
-if [ -n "$(shared_machine_dir)" ]; then \
|
|
for i in $(srcdir)/libc/machine/$(shared_machine_dir)/machine/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
cp $$i targ-include/machine/`basename $$i`; \
|
|
else true; fi ; \
|
|
done; \
|
|
for i in $(srcdir)/libc/machine/$(shared_machine_dir)/sys/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
cp $$i targ-include/sys/`basename $$i`; \
|
|
else true; fi ; \
|
|
done; \
|
|
for i in $(srcdir)/libc/machine/$(shared_machine_dir)/include/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
cp $$i targ-include/`basename $$i`; \
|
|
else true; fi ; \
|
|
done; \
|
|
fi
|
|
-for i in $(srcdir)/libc/machine/$(machine_dir)/machine/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
cp $$i targ-include/machine/`basename $$i`; \
|
|
else true; fi ; \
|
|
done
|
|
-for i in $(srcdir)/libc/machine/$(machine_dir)/sys/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
cp $$i targ-include/sys/`basename $$i`; \
|
|
else true; fi ; \
|
|
done
|
|
-for i in $(srcdir)/libc/machine/$(machine_dir)/include/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
cp $$i targ-include/`basename $$i`; \
|
|
else true; fi ; \
|
|
done
|
|
-for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
cp $$i targ-include/`basename $$i`; \
|
|
else true; fi ; \
|
|
done
|
|
-for i in $(srcdir)/libc/sys/$(sys_dir)/include/*; do \
|
|
if [ -d $$i ]; then \
|
|
for j in $$i/*.h; do \
|
|
if [ ! -d targ-include/`basename $$i` ]; then \
|
|
mkdir targ-include/`basename $$i`; \
|
|
fi; \
|
|
cp $$j targ-include/`basename $$i`/`basename $$j`; \
|
|
done \
|
|
else true; fi ; \
|
|
done
|
|
-for i in $(srcdir)/libc/sys/$(sys_dir)/sys/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
cp $$i targ-include/sys/`basename $$i`; \
|
|
else true; fi ; \
|
|
done
|
|
-for i in $(srcdir)/libc/sys/$(sys_dir)/bits/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
cp $$i targ-include/bits/`basename $$i`; \
|
|
else true; fi ; \
|
|
done
|
|
-for i in $(srcdir)/libc/sys/$(sys_dir)/machine/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
cp $$i targ-include/machine/`basename $$i`; \
|
|
else true; fi ; \
|
|
done
|
|
-for i in $(srcdir)/libc/sys/$(sys_dir)/machine/$(machine_dir)/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
cp $$i targ-include/machine/`basename $$i`; \
|
|
else true; fi ; \
|
|
done
|
|
-for i in $(srcdir)/libc/sys/$(sys_dir)/machine/$(machine_dir)/include/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
cp $$i targ-include/machine/`basename $$i`; \
|
|
else true; fi ; \
|
|
done
|
|
$(MAKE) targ-include/newlib.h
|
|
touch $@
|
|
|
|
CLEANFILES = stmp-targ-include
|
|
|
|
install-data-local: install-toollibLIBRARIES
|
|
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 \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/`basename $$i`; \
|
|
done; \
|
|
$(INSTALL_DATA) newlib.h $(DESTDIR)$(tooldir)/include/newlib.h; \
|
|
$(INSTALL_DATA) _newlib_version.h $(DESTDIR)$(tooldir)/include/_newlib_version.h; \
|
|
$(mkinstalldirs) $(DESTDIR)$(tooldir)/include/machine; \
|
|
for i in $(srcdir)/libc/include/machine/*.h; do \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $$i`; \
|
|
done; \
|
|
if [ -n "$(shared_machine_dir)" ]; then \
|
|
for i in $(srcdir)/libc/machine/$(shared_machine_dir)/machine/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $$i`; \
|
|
else true; fi ; \
|
|
done; \
|
|
fi ; \
|
|
for i in $(srcdir)/libc/machine/$(machine_dir)/machine/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $$i`; \
|
|
else true; fi ; \
|
|
done; \
|
|
$(mkinstalldirs) $(DESTDIR)$(tooldir)/include/rpc; \
|
|
for i in $(srcdir)/libc/include/rpc/*.h; do \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/rpc/`basename $$i`; \
|
|
done; \
|
|
$(mkinstalldirs) $(DESTDIR)$(tooldir)/include/ssp; \
|
|
for i in $(srcdir)/libc/include/ssp/*.h; do \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/ssp/`basename $$i`; \
|
|
done; \
|
|
$(mkinstalldirs) $(DESTDIR)$(tooldir)/include/sys; \
|
|
for i in $(srcdir)/libc/include/sys/*.h; do \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/sys/`basename $$i`; \
|
|
done; \
|
|
if [ -n "$(shared_machine_dir)" ]; then \
|
|
for i in $(srcdir)/libc/machine/$(shared_machine_dir)/sys/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/sys/`basename $$i`; \
|
|
else true; fi ; \
|
|
done ; \
|
|
for i in $(srcdir)/libc/machine/$(shared_machine_dir)/include/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/`basename $$i`; \
|
|
else true; fi ; \
|
|
done ; \
|
|
fi ; \
|
|
for i in $(srcdir)/libc/machine/$(machine_dir)/sys/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/sys/`basename $$i`; \
|
|
else true; fi ; \
|
|
done ; \
|
|
for i in $(srcdir)/libc/machine/$(machine_dir)/include/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/`basename $$i`; \
|
|
else true; fi ; \
|
|
done ; \
|
|
for i in $(srcdir)/libc/sys/$(sys_dir)/sys/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/sys/`basename $$i`; \
|
|
else true; fi ; \
|
|
done ; \
|
|
$(mkinstalldirs) $(DESTDIR)$(tooldir)/include/bits; \
|
|
for i in $(srcdir)/libc/sys/$(sys_dir)/bits/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/bits/`basename $$i`; \
|
|
else true; fi ; \
|
|
done ; \
|
|
for i in $(srcdir)/libc/sys/$(sys_dir)/machine/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $$i`; \
|
|
else true; fi ; \
|
|
done ; \
|
|
for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/`basename $$i`; \
|
|
else true; fi ; \
|
|
done ; \
|
|
for i in $(srcdir)/libc/sys/$(sys_dir)/include/*; do \
|
|
if [ -d $$i ]; then \
|
|
for j in $$i/*.h; do \
|
|
$(INSTALL_DATA) $$j $(DESTDIR)$(tooldir)/include/`basename $$i`/`basename $$j`; \
|
|
done ; \
|
|
else true; fi ; \
|
|
done ; \
|
|
for i in $(srcdir)/libc/sys/$(sys_dir)/machine/$(machine_dir)/include/*.h; do \
|
|
if [ -f $$i ]; then \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $$i`; \
|
|
else true; fi ; \
|
|
done ; \
|
|
for i in $(NO_INCLUDE_LIST); do \
|
|
if [ -f $(DESTDIR)$(tooldir)/include/$$i ]; then \
|
|
rm $(DESTDIR)$(tooldir)/include/$$i; \
|
|
else true; fi ; \
|
|
done ; \
|
|
else true; fi
|
|
|
|
# Generate Unicode data tables for libc/string/wcwidth and libc/ctype/??w*
|
|
unidata:
|
|
cd $(srcdir)/libc/string; ./mkunidata -u
|
|
cd $(srcdir)/libc/ctype; ./mkunidata -u
|
|
|
|
# Force makedoc to be built before building info files.
|
|
info-recursive dvi-recursive: doc/makedoc$(EXEEXT_FOR_BUILD)
|
|
|
|
# Recursive targets for man and install-man
|
|
man:
|
|
$(MAKE) man-cache || exit 1; \
|
|
for d in $(SUBDIRS); do \
|
|
if test "$$d" != "."; then \
|
|
(cd $$d && $(MAKE) man) || exit 1; \
|
|
fi; \
|
|
done
|
|
|
|
install-man:
|
|
for d in $(SUBDIRS); do \
|
|
if test "$$d" != "."; then \
|
|
(cd $$d && $(MAKE) install-man) || exit 1; \
|
|
fi; \
|
|
done
|
|
|
|
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
|
|
|
# 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
|
|
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=
|
|
|
|
# dejagnu support
|
|
|
|
RUNTESTFLAGS=
|
|
|
|
site.exp: Makefile
|
|
@echo 'Making a new site.exp file...'
|
|
@test ! -f site.bak || rm -f site.bak
|
|
@echo '## these variables are automatically generated by make ##' > $@-t
|
|
@echo '# Do not edit here. If you wish to override these values' >> $@-t
|
|
@echo '# edit the last section' >> $@-t
|
|
@echo 'set tool $(DEJATOOL)' >> $@-t
|
|
@echo 'set tool_version $(VERSION)' >> $@-t
|
|
@echo 'set srcdir $(srcdir)/testsuite' >> $@-t
|
|
@echo 'set objdir' `pwd` >> $@-t
|
|
@echo 'set tmpdir' `pwd`/testsuite >> $@-t
|
|
@echo 'set multibuildtop ./$(MULTIBUILDTOP)' >> $@-t
|
|
@echo 'set host_alias $(build_alias)' >> $@-t
|
|
@echo 'set host_triplet $(build_triplet)' >> $@-t
|
|
@echo 'set target_alias $(host_alias)' >> $@-t
|
|
@echo 'set target_triplet $(host_triplet)' >> $@-t
|
|
@echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t
|
|
@test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t
|
|
@test ! -f site.exp || mv site.exp site.bak
|
|
@mv $@-t site.exp
|
|
|
|
check-DEJAGNU: site.exp
|
|
@if [ -d testsuite ] ; then \
|
|
true ; \
|
|
else \
|
|
mkdir testsuite ; \
|
|
fi
|
|
@rm -f testsuite/site.exp
|
|
@cp site.exp testsuite/site.exp
|
|
@rootme=`pwd` ; \
|
|
export rootme ; \
|
|
srcdir=`cd ${srcdir}; pwd` ; \
|
|
export srcdir ; \
|
|
EXPECT=`if [ -f $${rootme}/${MULTIBUILDTOP}../../expect/expect ] ; then \
|
|
echo $${rootme}/${MULTIBUILDTOP}../../expect/expect ; \
|
|
else \
|
|
echo expect ; \
|
|
fi` ; \
|
|
export EXPECT ; \
|
|
echo "Found expect: $${EXPECT}" ; \
|
|
if [ -f $(top_builddir)/$(MULTIBUILDTOP)../../expect/expect ] ; then \
|
|
TCL_LIBRARY=`cd $(top_srcdir)/../tcl/library && pwd` ; \
|
|
export TCL_LIBRARY ; \
|
|
echo "Found TCL library directory: $${TCL_LIBRARY}" ; \
|
|
fi ; \
|
|
RUNTEST=`if [ -f $${srcdir}/../dejagnu/runtest ] ; then \
|
|
echo $${srcdir}/../dejagnu/runtest ; \
|
|
else \
|
|
echo runtest ; \
|
|
fi` ; \
|
|
export RUNTEST ; \
|
|
echo "Found runtest: $${RUNTEST}" ; \
|
|
cd testsuite ; \
|
|
if $(SHELL) -c "$$RUNTEST --version" > /dev/null 2>&1 ; then \
|
|
$$RUNTEST --tool $(DEJATOOL) --srcdir $${srcdir}/testsuite $(RUNTESTFLAGS) ; \
|
|
: ; \
|
|
else \
|
|
echo "WARNING: could not find \`runtest'" 1>&2 ; \
|
|
fi
|
|
|
|
clean-local:
|
|
-rm -rf targ-include newlib.h _newlib_version.h stamp-*
|
|
|
|
if HAVE_DOC
|
|
include doc/local.mk
|
|
endif
|
|
|
|
.PHONY: $(PHONY)
|