mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-03-04 05:55:38 +08:00
Convert all the libm/ subdir makes into the top-level Makefile. This allows us to build all of libm from the top Makefile without using any recursive make calls. This is faster and avoids the funky lib.a logic where we unpack subdir archives to repack into a single libm.a. The machine override logic is maintained though by way of Makefile include ordering, and source file accumulation in libm_a_SOURCES. One thing to note is that this will require GNU Make because of: libm_a_CFLAGS = ... $(libm_a_CFLAGS_$(subst /,_,$(@D))) This was the only way I could find to supporting per-dir compiler settings, and I couldn't find a POSIX compatible way of transforming the variable content. I don't think this is a big deal as other Makefiles in the tree are using GNU Make-specific syntax, but I call this out as it's the only one so far in the new automake code that I've been writing. Automake doesn't provide precise control over the output object names (by design). This is fine by default as we get consistent names in all the subdirs: libm_a-<source>.o. But this relies on using the same set of compiler flags for all objects. We currently compile libm/common/ with different optimizations than the rest. If we want to compile objects differently, we can create an intermediate archive with the subset of objects with unique flags, and then add those objects to the main archive. But Automake will use a different prefix for the objects, and thus we can't rely on ordering to override. But if we leverage $@, we can turn Automake's CFLAGS into a multiplex on a per-dir (and even per-file if we wanted) basis. Unfortunately, since $@ contains /, Automake complains it's an invalid name. While GNU Make supports this, it's a POSIX extension, so Automake flags it. Using $(subst) avoids the Automake warning to get a POSIX compliant name, albeit with a GNU Make extension.
460 lines
15 KiB
Makefile
460 lines
15 KiB
Makefile
## Process this file with automake to generate Makefile.in
|
|
|
|
AUTOMAKE_OPTIONS = dejagnu
|
|
ACLOCAL_AMFLAGS = -I . -I .. -I ../config
|
|
|
|
# Variables that will accumulate in subdirs.
|
|
CLEANFILES =
|
|
PHONY =
|
|
SUFFIXES =
|
|
info_TEXINFOS =
|
|
noinst_DATA =
|
|
|
|
# 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 .
|
|
|
|
tooldir = $(exec_prefix)/$(host_alias)
|
|
toollibdir = $(tooldir)/lib$(MULTISUBDIR)
|
|
|
|
AM_CPPFLAGS = $(NEWLIB_CFLAGS) $(TARGET_CFLAGS)
|
|
AR_FLAGS = rc
|
|
|
|
noinst_DATA += stmp-targ-include
|
|
|
|
toollib_LIBRARIES = libm.a \
|
|
libc.a
|
|
noinst_DATA += libg.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
|
|
|
|
toollib_DATA = $(CRT0) $(CRT1)
|
|
|
|
CLEANFILES += libg.a
|
|
|
|
# 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 = \
|
|
libm_a-s_fpclassify.o libm_a-sf_fpclassify.o \
|
|
libm_a-s_isinf.o libm_a-sf_isinf.o \
|
|
libm_a-s_isnan.o libm_a-sf_isnan.o \
|
|
libm_a-s_isinfd.o libm_a-sf_isinff.o \
|
|
libm_a-s_isnand.o libm_a-sf_isnanf.o \
|
|
libm_a-s_nan.o libm_a-sf_nan.o \
|
|
libm_a-s_ldexp.o libm_a-sf_ldexp.o \
|
|
libm_a-s_frexp.o libm_a-sf_frexp.o libm_a-frexpl.o \
|
|
libm_a-s_modf.o \
|
|
libm_a-sf_modf.o libm_a-s_scalbn.o \
|
|
libm_a-sf_scalbn.o \
|
|
libm_a-s_finite.o libm_a-sf_finite.o \
|
|
libm_a-s_copysign.o libm_a-sf_copysign.o
|
|
|
|
libc.a: libc/libc.a libm.a
|
|
rm -rf libc.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
|
|
rm -rf tmp
|
|
|
|
libc/libc.a: ; @true
|
|
|
|
libg.a: libc.a
|
|
$(AM_V_GEN)ln libc.a libg.a >/dev/null 2>/dev/null || cp libc.a libg.a
|
|
|
|
libm_a_SOURCES =
|
|
libm_a_CFLAGS = $(AM_CFLAGS) $(libm_a_CFLAGS_$(subst /,_,$(@D))) $(libm_a_CFLAGS_$(subst /,_,$(@D)_$(<F)))
|
|
libm_a_CCASFLAGS = $(AM_CCASFLAGS) $(libm_a_CCASFLAGS_$(subst /,_,$(@D))) $(libm_a_CCASFLAGS_$(subst /,_,$(@D)_$(<F)))
|
|
libm_a_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/libm/common $(libm_a_CPPFLAGS_$(subst /,_,$(@D))) $(libm_a_CPPFLAGS_$(subst /,_,$(@D)_$(<F)))
|
|
$(libm_a_OBJECTS): stmp-targ-include
|
|
|
|
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
|
|
|
|
## 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
|
|
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
|
|
-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 \
|
|
$(MKDIR_P) $(DESTDIR)$(tooldir)/include/`basename $$i`; \
|
|
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)
|
|
|
|
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
|
|
|
include ../multilib.am
|
|
|
|
check-multi:
|
|
$(MULTIDO) $(AM_MAKEFLAGS) DO=check multi-do # $(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-*
|
|
|
|
# Workaround bad automake/texinfo interactions.
|
|
# https://bugs.gnu.org/23599
|
|
TEXI2DVI = texi2dvi -E
|
|
|
|
TEXINFO_TEX = ../texinfo/texinfo.tex
|
|
|
|
if HAVE_DOC
|
|
include doc/Makefile.inc
|
|
endif
|
|
include libc/Makefile.inc
|
|
include libm/Makefile.inc
|
|
|
|
.PHONY: $(PHONY)
|