mirror of git://sourceware.org/git/glibc.git
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.
This commit is contained in:
parent
7e1e68b45c
commit
5cd81881e2
10
ChangeLog
10
ChangeLog
|
@ -1,5 +1,15 @@
|
||||||
2017-02-06 Joseph Myers <joseph@codesourcery.com>
|
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.
|
* math/gen-libm-test.pl ($output_dir): Remove variable.
|
||||||
($srcdir): Likewise.
|
($srcdir): Likewise.
|
||||||
($opt_a): New variable.
|
($opt_a): New variable.
|
||||||
|
|
|
@ -208,20 +208,21 @@ libm-vec-test-wrappers = $(addsuffix -wrappers, $(libm-vec-tests))
|
||||||
test-extras += $(libm-vec-test-wrappers)
|
test-extras += $(libm-vec-test-wrappers)
|
||||||
extra-test-objs += $(addsuffix .o, $(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
|
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)))
|
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
|
||||||
|
|
||||||
$(objpfx)libm-test.stmp: $(ulps-file) libm-test.inc gen-libm-test.pl \
|
|
||||||
gen-libm-have-vector-test.sh auto-libm-test-out
|
|
||||||
$(make-target-directory)
|
$(make-target-directory)
|
||||||
$(PERL) gen-libm-test.pl -u $< -H "$(objpfx)libm-test-ulps.h"
|
$(PERL) gen-libm-test.pl -u $< -H $@
|
||||||
$(PERL) gen-libm-test.pl -c libm-test.inc -a auto-libm-test-out \
|
|
||||||
-C "$(objpfx)libm-test.c"
|
$(objpfx)libm-test.c: libm-test.inc gen-libm-test.pl auto-libm-test-out
|
||||||
$(SHELL) gen-libm-have-vector-test.sh > $(objpfx)libm-have-vector-test.h
|
$(make-target-directory)
|
||||||
@echo > $@
|
$(PERL) gen-libm-test.pl -c $< -a auto-libm-test-out -C $@
|
||||||
|
|
||||||
|
$(objpfx)libm-have-vector-test.h: libm-test.inc gen-libm-have-vector-test.sh
|
||||||
|
$(make-target-directory)
|
||||||
|
$(SHELL) gen-libm-have-vector-test.sh > $@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libm-test-fast-math-cflags = -fno-builtin -D__FAST_MATH__ -DTEST_FAST_MATH
|
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))
|
ifneq (no,$(PERL))
|
||||||
# This must come after the inclusion of sysdeps Makefiles via Rules.
|
# 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.
|
# Run the math programs to automatically generate ULPs files.
|
||||||
.PHONY: regen-ulps
|
.PHONY: regen-ulps
|
||||||
|
|
Loading…
Reference in New Issue