diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-02-06 18:28:33 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-02-06 18:28:33 +0000 |
commit | 5cd81881e221d2943ca41b2da7bb87c0ede3386b (patch) | |
tree | bb82b1e984d97751d9f1b66aab832c0778584dd9 | |
parent | 7e1e68b45c4f2e048213cffa8ccd42a1e5c4fec6 (diff) | |
download | glibc-5cd81881e221d2943ca41b2da7bb87c0ede3386b.zip glibc-5cd81881e221d2943ca41b2da7bb87c0ede3386b.tar.gz glibc-5cd81881e221d2943ca41b2da7bb87c0ede3386b.tar.bz2 |
Eliminate libm-test.stmp.
math/Makefile uses libm-test.stmp to handle dependencies involving
multiple generated files all generated by a single sequence of
commands in a single Makefile rule.
Having separated the libm-test-ulps.h and libm-test.c generation into
separate runs of gen-libm-test.pl, there is now no need for a single
rule to generate multiple target files; each of the three target files
involved can be generated by a separate Makefile rule, meaning normal
dependencies on the individual files can be used and so libm-test.stmp
is not needed at all. This patch does just that, eliminating the
.stmp file, in further preparation for when there are many separate
libm-test-<func>.c files generated from libm-test-<func>.inc and the
dependencies are on just the relevant .c file in each case.
Tested for x86_64.
* math/Makefile (generated): Do not include libm-test.stmp.
($(addprefix $(objpfx), $(libm-tests-generated))): Do not depend
on $(objpfx)libm-test.stmp.
($(objpfx)libm-test.stmp): Remove rule.
($(objpfx)libm-test-ulps.h): New rule.
($(objpfx)libm-test.c): Likewise.
($(objpfx)libm-have-vector-test.h): Likewise.
($(addprefix $(objpfx), $(libm-tests.o)): Depend directly on
individual generated files, not libm-test.stmp.
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | math/Makefile | 22 |
2 files changed, 22 insertions, 10 deletions
@@ -1,5 +1,15 @@ 2017-02-06 Joseph Myers <joseph@codesourcery.com> + * math/Makefile (generated): Do not include libm-test.stmp. + ($(addprefix $(objpfx), $(libm-tests-generated))): Do not depend + on $(objpfx)libm-test.stmp. + ($(objpfx)libm-test.stmp): Remove rule. + ($(objpfx)libm-test-ulps.h): New rule. + ($(objpfx)libm-test.c): Likewise. + ($(objpfx)libm-have-vector-test.h): Likewise. + ($(addprefix $(objpfx), $(libm-tests.o)): Depend directly on + individual generated files, not libm-test.stmp. + * math/gen-libm-test.pl ($output_dir): Remove variable. ($srcdir): Likewise. ($opt_a): New variable. diff --git a/math/Makefile b/math/Makefile index bbee8f3..b7ac897 100644 --- a/math/Makefile +++ b/math/Makefile @@ -208,20 +208,21 @@ libm-vec-test-wrappers = $(addsuffix -wrappers, $(libm-vec-tests)) test-extras += $(libm-vec-test-wrappers) extra-test-objs += $(addsuffix .o, $(libm-vec-test-wrappers)) libm-tests-generated = libm-test-ulps.h libm-have-vector-test.h libm-test.c -generated += $(libm-tests-generated) libm-test.stmp +generated += $(libm-tests-generated) ulps-file = $(firstword $(wildcard $(sysdirs:%=%/libm-test-ulps))) -$(addprefix $(objpfx), $(libm-tests-generated)): $(objpfx)libm-test.stmp +$(objpfx)libm-test-ulps.h: $(ulps-file) gen-libm-test.pl + $(make-target-directory) + $(PERL) gen-libm-test.pl -u $< -H $@ + +$(objpfx)libm-test.c: libm-test.inc gen-libm-test.pl auto-libm-test-out + $(make-target-directory) + $(PERL) gen-libm-test.pl -c $< -a auto-libm-test-out -C $@ -$(objpfx)libm-test.stmp: $(ulps-file) libm-test.inc gen-libm-test.pl \ - gen-libm-have-vector-test.sh auto-libm-test-out +$(objpfx)libm-have-vector-test.h: libm-test.inc gen-libm-have-vector-test.sh $(make-target-directory) - $(PERL) gen-libm-test.pl -u $< -H "$(objpfx)libm-test-ulps.h" - $(PERL) gen-libm-test.pl -c libm-test.inc -a auto-libm-test-out \ - -C "$(objpfx)libm-test.c" - $(SHELL) gen-libm-have-vector-test.sh > $(objpfx)libm-have-vector-test.h - @echo > $@ + $(SHELL) gen-libm-have-vector-test.sh > $@ endif libm-test-fast-math-cflags = -fno-builtin -D__FAST_MATH__ -DTEST_FAST_MATH @@ -337,7 +338,8 @@ $(foreach t, $(call type-foreach, $(gen-all-calls)), \ ifneq (no,$(PERL)) # This must come after the inclusion of sysdeps Makefiles via Rules. -$(addprefix $(objpfx), $(libm-tests.o)): $(objpfx)libm-test.stmp +$(addprefix $(objpfx), $(libm-tests.o)): $(addprefix $(objpfx),\ + $(libm-tests-generated)) # Run the math programs to automatically generate ULPs files. .PHONY: regen-ulps |