From 2f663a980c358f99d053a53e387b39772291c631 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 19 Jan 2006 07:29:40 +0000 Subject: * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h [__ASSEMBLER__]: Don't include problematic headers for assembler. * Makerules ($(+sysdir_pfx)sysd-rules): Don't emit m_%.c rules, instead emit m_%.o compilation rules from s_%.? source files. * math/Makefile ($(objpfx)m_%$o: s_%.c): New rule using o-iterator. --- ChangeLog | 9 +++++++++ Makerules | 15 ++++++--------- math/Makefile | 12 +++++++++++- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 53225a3..58779e1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-01-18 Roland McGrath + + * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h [__ASSEMBLER__]: Don't + include problematic headers for assembler. + + * Makerules ($(+sysdir_pfx)sysd-rules): Don't emit m_%.c rules, + instead emit m_%.o compilation rules from s_%.? source files. + * math/Makefile ($(objpfx)m_%$o: s_%.c): New rule using o-iterator. + 2006-01-18 Ulrich Drepper * sysdeps/unix/sysv/linux/fxstatat.c [STAT_IS_KERNEL_STAT] diff --git a/Makerules b/Makerules index e376dab..a96a03e 100644 --- a/Makerules +++ b/Makerules @@ -257,6 +257,10 @@ $(+sysdir_pfx)sysd-rules: $(+sysdir_pfx)config.make $(..)Makerules \ \$$(compile-command.S)"; \ echo "\$$(objpfx)ptw-%$$o: $$dir/%.s \$$(before-compile); \ \$$(compile-command.s)"; \ + echo "\$$(objpfx)m_%$$o: $$dir/s_%.S \$$(before-compile); \ + \$$(compile-command.S)"; \ + echo "\$$(objpfx)m_%$$o: $$dir/s_%.s \$$(before-compile); \ + \$$(compile-command.s)"; \ $(close-check-inhibit-asm) \ echo "\$$(objpfx)%$$o: $$dir/%.c \$$(before-compile); \ \$$(compile-command.c)"; \ @@ -264,13 +268,12 @@ $(+sysdir_pfx)sysd-rules: $(+sysdir_pfx)config.make $(..)Makerules \ \$$(compile-command.c)"; \ echo "\$$(objpfx)ptw-%$$o: $$dir/%.c \$$(before-compile); \ \$$(compile-command.c)"; \ + echo "\$$(objpfx)m_%$$o: $$dir/s_%.c \$$(before-compile); \ + \$$(compile-command.c)"; \ done; \ - echo "\$$(objpfx)m_%.S: $$dir/s_%.S; \$$(+make-include-of-dep)"; \ - echo "\$$(objpfx)m_%.c: $$dir/s_%.c; \$$(+make-include-of-dep)"; \ echo "\$$(inst_includedir)/%.h: $$dir/%.h \$$(+force); \ \$$(do-install)"; \ done; \ - echo "\$$(objpfx)m_%.c: s_%.c; \$$(+make-include-of-dep)"; \ echo 'sysd-rules-done = t') > $@T mv -f $@T $@ @@ -279,12 +282,6 @@ ifndef sysd-rules-done no_deps=t endif -# This is used by the m_%.[Sc] pattern rules in sysd-rules. -define +make-include-of-dep -echo '#include <$<>' > $@T -mv -f $@T $@ -endef - define o-iterator-doit $(objpfx)%$o: %.S $(before-compile); $$(compile-command.S) endef diff --git a/math/Makefile b/math/Makefile index 8e5c788..b45283d 100644 --- a/math/Makefile +++ b/math/Makefile @@ -1,4 +1,5 @@ -# Copyright (C) 1996-2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 1996-2001,2002,2003,2004,2005,2006 +# Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -149,6 +150,15 @@ distribute += ieee-math.c include ../Rules +# The generated sysd-rules file defines rules like this for sources +# coming from sysdeps/ directories. These rules find the generic sources. +define o-iterator-doit +$(objpfx)m_%$o: s_%.c $(before-compile); $$(compile-command.c) +endef +object-suffixes-left := $(all-object-suffixes) +include $(o-iterator) + + # This file defines the default _LIB_VERSION variable that controls # the error return conventions for the math functions. CPPFLAGS-s_lib_version.c := -D_POSIX_MODE -- cgit v1.1