summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--Makerules15
-rw-r--r--math/Makefile12
3 files changed, 26 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 53225a3e22..58779e1b64 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-01-18 Roland McGrath <roland@redhat.com>
+
+ * 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 <drepper@redhat.com>
* sysdeps/unix/sysv/linux/fxstatat.c [STAT_IS_KERNEL_STAT]
diff --git a/Makerules b/Makerules
index e376dabae1..a96a03eee4 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 8e5c788403..b45283d8fc 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