1 ## Process this file with automake to generate Makefile.in
3 AUTOMAKE_OPTIONS = cygnus dejagnu
4 ACLOCAL_AMFLAGS = -I . -I ..
6 # Multilib support variables.
14 LIBTOOL_VERSION_INFO = 0:0:0
16 # The newlib hardware floating-point routines have been disabled due to
17 # inaccuracy. If you wish to work on them, you will need to edit the
18 # configure.in file to re-enable the configuration option. By default,
19 # the NEWLIB_HW_FP variable will always be false.
26 # Work around what appears to be a GNU make bug handling MAKEFLAGS
27 # values defined in terms of make variables, as is the case for CC and
28 # friends when we are called from the top level Makefile.
30 "AR_FLAGS=$(AR_FLAGS)" \
31 "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
33 "CCASFLAGS=$(CCASFLAGS)" \
34 "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
35 "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
36 "INSTALL=$(INSTALL)" \
37 "LDFLAGS=$(LDFLAGS)" \
38 "LIBCFLAGS=$(LIBCFLAGS)" \
39 "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
41 "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
42 "PICFLAG=$(PICFLAG)" \
43 "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
46 "RUNTEST=$(RUNTEST)" \
47 "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
48 "exec_prefix=$(exec_prefix)" \
49 "infodir=$(infodir)" \
52 "tooldir=$(tooldir)" \
53 "top_toollibdir=$(toollibdir)" \
56 "CC=$(CC_FOR_NEWLIB)" \
58 "LIBCFLAGS=$(LIBCFLAGS)" \
60 "PICFLAG=$(PICFLAG)" \
64 FLAGS_TO_PASS=$(AM_MAKEFLAGS)
73 $(DOCDIR) . $(EXTRA_DIRS)
75 tooldir = $(exec_prefix)/$(host_alias)
76 toollibdir = $(tooldir)/lib$(MULTISUBDIR)
81 toollib_LTLIBRARIES = libm.la \
84 toollib_LIBRARIES = libm.a \
88 noinst_DATA = stmp-targ-include
90 toollib_DATA = $(CRT0) $(CRT1)
93 # The functions ldexp, frexp and modf are traditionally supplied in
94 # both libc.a and libm.a. We build them in libm.a and copy them over,
95 # along with some required supporting routines.
97 $(lpfx)s_fpclassify.$(oext) $(lpfx)sf_fpclassify.$(oext) \
98 $(lpfx)s_isinf.$(oext) $(lpfx)sf_isinf.$(oext) \
99 $(lpfx)s_isnan.$(oext) $(lpfx)sf_isnan.$(oext) \
100 $(lpfx)s_isinfd.$(oext) $(lpfx)sf_isinff.$(oext) \
101 $(lpfx)s_isnand.$(oext) $(lpfx)sf_isnanf.$(oext) \
102 $(lpfx)s_nan.$(oext) $(lpfx)sf_nan.$(oext) \
103 $(lpfx)s_ldexp.$(oext) $(lpfx)sf_ldexp.$(oext) \
104 $(lpfx)s_frexp.$(oext) $(lpfx)sf_frexp.$(oext) \
105 $(lpfx)s_modf.$(oext) \
106 $(lpfx)sf_modf.$(oext) $(lpfx)s_scalbn.$(oext) \
107 $(lpfx)sf_scalbn.$(oext) \
108 $(lpfx)s_finite.$(oext) $(lpfx)sf_finite.$(oext) \
109 $(lpfx)s_copysign.$(oext) $(lpfx)sf_copysign.$(oext) \
110 $(lpfx)s_infconst.$(oext)
113 $(POSIX_OBJECTLIST) \
114 $(SIGNAL_OBJECTLIST) \
115 $(SYSCALL_OBJECTLIST) \
117 $(STDIO64_OBJECTLIST) \
118 libc/argz/objectlist.awk.in \
119 libc/stdlib/objectlist.awk.in \
120 libc/time/objectlist.awk.in \
121 libc/ctype/objectlist.awk.in \
122 libc/search/objectlist.awk.in \
123 libc/string/objectlist.awk.in \
124 libc/locale/objectlist.awk.in \
125 libc/misc/objectlist.awk.in \
126 libc/reent/objectlist.awk.in \
127 libc/errno/objectlist.awk.in \
128 libc/stdio/objectlist.awk.in \
129 $(MACHINE_OBJECTLIST) \
131 $(SYS_MACH_OBJECTLIST)
134 libm/$(MATHDIR)/objectlist.awk.in \
135 libm/common/objectlist.awk.in \
136 $(LIBM_MACHINE_OBJECTLIST)
138 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
140 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
144 libm_la_DEPENDENCIES = libm-libtool-objectlist
146 # objects listed later in LIBM_OBJECTLISTS will override those listed earlier
147 libm-libtool-objectlist: $(LIBM_OBJECTLISTS)
148 cat $(LIBM_OBJECTLISTS) | $(AWK) '{ libm[$$1] = $$2 }; END { for (x in libm) printf ("%s\n", libm[x]) }' > $@
151 libc_la_DEPENDENCIES = libc-libtool-objectlist
153 # objects listed later in LIBM_OBJECTLISTS and LIBC_OBJECTLISTS will override those listed earlier
154 libc-libtool-objectlist: $(LIBM_OBJECTLISTS) $(LIBC_OBJECTLISTS)
155 cat $(LIBM_OBJECTLISTS) $(LIBC_OBJECTLISTS) | $(AWK) '{ libc[$$1] = $$2 }; END { for (x in libc) printf ("%s\n", libc[x]) }' > $@
159 libc.a: libc/libc.a libm.a
160 rm -rf libc.a libg.a tmp
163 $(AR) x ../libm.a $(MATHOBJS_IN_LIBC) ; \
164 $(AR) x ../libc/libc.a ; \
165 $(AR) $(AR_FLAGS) ../$@ *.o
167 ln libc.a libg.a >/dev/null 2>/dev/null || cp libc.a libg.a
174 ln libm/libm.a $@ >/dev/null 2>/dev/null || cp libm/libm.a $@
180 crt0.o: $(CRT0_DIR)$(CRT0)
182 ln $(CRT0_DIR)$(CRT0) $@ >/dev/null 2>/dev/null \
183 || cp $(CRT0_DIR)$(CRT0) $@
185 $(CRT0_DIR)$(CRT0): ; @true
187 crt1.o: $(CRT1_DIR)$(CRT1)
189 ln $< $@ >/dev/null 2>/dev/null \
192 $(CRT1_DIR)$(CRT1): ; @true
194 $(srcdir)/newlib.hin:
196 all-recursive: stmp-targ-include
198 # The targ-include directory just holds the includes files for the
199 # particular system and machine we have been configured for. It is
200 # used while building.
201 stmp-targ-include: config.status
202 -rm -rf targ-include stmp-targ-include
203 mkdir targ-include targ-include/sys targ-include/machine targ-include/bits
204 cp newlib.h targ-include/newlib.h
205 -for i in $(srcdir)/libc/machine/$(machine_dir)/machine/*.h; do \
206 if [ -f $$i ]; then \
207 cp $$i targ-include/machine/`basename $$i`; \
210 -for i in $(srcdir)/libc/machine/$(machine_dir)/sys/*.h; do \
211 if [ -f $$i ]; then \
212 cp $$i targ-include/sys/`basename $$i`; \
215 -for i in $(srcdir)/libc/machine/$(machine_dir)/include/*.h; do \
216 if [ -f $$i ]; then \
217 cp $$i targ-include/`basename $$i`; \
220 -for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \
221 if [ -f $$i ]; then \
222 cp $$i targ-include/`basename $$i`; \
225 -for i in $(srcdir)/libc/sys/$(sys_dir)/include/*; do \
226 if [ -d $$i ]; then \
227 for j in $$i/*.h; do \
228 if [ ! -d targ-include/`basename $$i` ]; then \
229 mkdir targ-include/`basename $$i`; \
231 cp $$j targ-include/`basename $$i`/`basename $$j`; \
235 -for i in $(srcdir)/libc/sys/$(sys_dir)/sys/*.h; do \
236 if [ -f $$i ]; then \
237 cp $$i targ-include/sys/`basename $$i`; \
240 -for i in $(srcdir)/libc/sys/$(sys_dir)/bits/*.h; do \
241 if [ -f $$i ]; then \
242 cp $$i targ-include/bits/`basename $$i`; \
245 -for i in $(srcdir)/libc/sys/$(sys_dir)/machine/*.h; do \
246 if [ -f $$i ]; then \
247 cp $$i targ-include/machine/`basename $$i`; \
250 -for i in $(srcdir)/libc/sys/$(sys_dir)/machine/$(machine_dir)/*.h; do \
251 if [ -f $$i ]; then \
252 cp $$i targ-include/machine/`basename $$i`; \
255 -for i in $(srcdir)/libc/sys/$(sys_dir)/machine/$(machine_dir)/include/*.h; do \
256 if [ -f $$i ]; then \
257 cp $$i targ-include/machine/`basename $$i`; \
262 CLEANFILES = stmp-targ-include
264 install-data-local: install-toollibLIBRARIES
267 rm -f $(DESTDIR)$(toollibdir)/libg.a
268 ln $(DESTDIR)$(toollibdir)/libc.a $(DESTDIR)$(toollibdir)/libg.a >/dev/null 2>/dev/null || cp $(DESTDIR)$(toollibdir)/libc.a $(DESTDIR)$(toollibdir)/libg.a
270 $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
271 -if [ -z "$(MULTISUBDIR)" ]; then \
272 $(mkinstalldirs) $(DESTDIR)$(tooldir)/include; \
273 for i in $(srcdir)/libc/include/*.h; do \
274 $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/`basename $$i`; \
276 $(INSTALL_DATA) newlib.h $(DESTDIR)$(tooldir)/include/newlib.h; \
277 $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/machine; \
278 for i in $(srcdir)/libc/include/machine/*.h; do \
279 $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $$i`; \
281 for i in $(srcdir)/libc/machine/$(machine_dir)/machine/*.h; do \
282 if [ -f $$i ]; then \
283 $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $$i`; \
286 $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/rpc; \
287 for i in $(srcdir)/libc/include/rpc/*.h; do \
288 $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/rpc/`basename $$i`; \
290 $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/sys; \
291 for i in $(srcdir)/libc/include/sys/*.h; do \
292 $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/sys/`basename $$i`; \
294 for i in $(srcdir)/libc/machine/$(machine_dir)/sys/*.h; do \
295 if [ -f $$i ]; then \
296 $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/sys/`basename $$i`; \
299 for i in $(srcdir)/libc/machine/$(machine_dir)/include/*.h; do \
300 if [ -f $$i ]; then \
301 $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/`basename $$i`; \
304 for i in $(srcdir)/libc/sys/$(sys_dir)/sys/*.h; do \
305 if [ -f $$i ]; then \
306 $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/sys/`basename $$i`; \
309 $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/bits; \
310 for i in $(srcdir)/libc/sys/$(sys_dir)/bits/*.h; do \
311 if [ -f $$i ]; then \
312 $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/bits/`basename $$i`; \
315 for i in $(srcdir)/libc/sys/$(sys_dir)/machine/*.h; do \
316 if [ -f $$i ]; then \
317 $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $$i`; \
320 for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \
321 if [ -f $$i ]; then \
322 $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/`basename $$i`; \
325 for i in $(srcdir)/libc/sys/$(sys_dir)/include/*; do \
326 if [ -d $$i ]; then \
327 for j in $$i/*.h; do \
328 $(INSTALL_DATA) $$j $(DESTDIR)$(tooldir)/include/`basename $$i`/`basename $$j`; \
332 for i in $(srcdir)/libc/sys/$(sys_dir)/machine/$(machine_dir)/include/*.h; do \
333 if [ -f $$i ]; then \
334 $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $$i`; \
337 for i in $(NO_INCLUDE_LIST); do \
338 if [ -f $(DESTDIR)$(tooldir)/include/$$i ]; then \
339 rm $(DESTDIR)$(tooldir)/include/$$i; \
344 # Force makedoc to be built before building info files.
345 info-recursive: doc/makedoc
346 dvi-recursive: doc/makedoc
348 cd doc && $(MAKE) all
350 CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
353 .PHONY: all-multi check-multi mostlyclean-multi clean-multi distclean-multi \
354 maintainer-clean-multi
356 all-recursive: all-multi
357 check-recursive: check-multi
358 mostlyclean-recursive: mostlyclean-multi
359 clean-recursive: clean-multi
360 distclean-recursive: distclean-multi
361 maintainer-clean-recursive: maintainer-clean-multi
363 # The $(MAKE) comments below are to enable parallel building.
365 $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
367 $(MULTIDO) $(AM_MAKEFLAGS) DO=check multi-do # $(MAKE)
369 $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
371 $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
373 $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
374 maintainer-clean-multi:
375 $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
384 @echo 'Making a new site.exp file...'
385 @test ! -f site.bak || rm -f site.bak
386 @echo '## these variables are automatically generated by make ##' > $@-t
387 @echo '# Do not edit here. If you wish to override these values' >> $@-t
388 @echo '# edit the last section' >> $@-t
389 @echo 'set tool $(DEJATOOL)' >> $@-t
390 @echo 'set tool_version $(VERSION)' >> $@-t
391 @echo 'set srcdir $(srcdir)/testsuite' >> $@-t
392 @echo 'set objdir' `pwd` >> $@-t
393 @echo 'set tmpdir' `pwd`/testsuite >> $@-t
394 @echo 'set multibuildtop ./$(MULTIBUILDTOP)' >> $@-t
395 @echo 'set host_alias $(build_alias)' >> $@-t
396 @echo 'set host_triplet $(build_triplet)' >> $@-t
397 @echo 'set target_alias $(host_alias)' >> $@-t
398 @echo 'set target_triplet $(host_triplet)' >> $@-t
399 @echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t
400 @test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t
401 @test ! -f site.exp || mv site.exp site.bak
404 check-DEJAGNU: site.exp
405 @if [ -d testsuite ] ; then \
410 @rm -f testsuite/site.exp
411 @cp site.exp testsuite/site.exp
414 srcdir=`cd ${srcdir}; pwd` ; \
416 EXPECT=`if [ -f $${rootme}/${MULTIBUILDTOP}../../expect/expect ] ; then \
417 echo $${rootme}/${MULTIBUILDTOP}../../expect/expect ; \
422 echo "Found expect: $${EXPECT}" ; \
423 if [ -f $(top_builddir)/$(MULTIBUILDTOP)../../expect/expect ] ; then \
424 TCL_LIBRARY=`cd $(top_srcdir)/../tcl/library && pwd` ; \
425 export TCL_LIBRARY ; \
426 echo "Found TCL library directory: $${TCL_LIBRARY}" ; \
428 RUNTEST=`if [ -f $${srcdir}/../dejagnu/runtest ] ; then \
429 echo $${srcdir}/../dejagnu/runtest ; \
434 echo "Found runtest: $${RUNTEST}" ; \
436 if $(SHELL) -c "$$RUNTEST --version" > /dev/null 2>&1 ; then \
437 $$RUNTEST --tool $(DEJATOOL) --srcdir $${srcdir}/testsuite $(RUNTESTFLAGS) ; \
440 echo "WARNING: could not find \`runtest'" 1>&2 ; \