Make ABI tests generate .out files
Joseph S. Myers
joseph@codesourcery.com
Wed Feb 12 18:34:00 GMT 2014
If you rerun "make check" in a tree where some tests have already been
run, it will rerun ABI tests because those do not create an output
file.
This patch changes those tests to create .out files so they only get
rerun if the dependencies (on the ABI baselines and the generated
.symlist files) indicate they should be rerun.
Tested x86_64.
(The ChangeLog entry explicitly says "target" and "variable" to avoid
confusion with there being entries for both a target called check-abi
and a variable called check-abi.)
2014-02-12 Joseph Myers <joseph@codesourcery.com>
* Makerules (check-abi-%): Change target to
$(objpfx)check-abi-%.out.
(check-abi target): Update dependencies.
(check-abi-pattern variable): Redirect output of diff to $@.
(check-abi variable): Likewise.
* elf/Makefile (check-abi): Update dependencies.
diff --git a/Makerules b/Makerules
index b46b09b..13c3fae 100644
--- a/Makerules
+++ b/Makerules
@@ -1193,21 +1193,25 @@ vpath %.abilist $(+sysdep_dirs)
generated += $(extra-libs:=.symlist)
ifdef abilist-pattern
-check-abi-%: $(common-objpfx)config.make $(abilist-pattern) $(objpfx)%.symlist
+$(objpfx)check-abi-%.out: $(common-objpfx)config.make $(abilist-pattern) \
+ $(objpfx)%.symlist
$(check-abi-pattern)
-check-abi-%: $(common-objpfx)config.make $(abilist-pattern) \
- $(common-objpfx)%.symlist
+$(objpfx)check-abi-%.out: $(common-objpfx)config.make $(abilist-pattern) \
+ $(common-objpfx)%.symlist
$(check-abi-pattern)
endif
-check-abi-%: $(common-objpfx)config.make %.abilist $(objpfx)%.symlist
+$(objpfx)check-abi-%.out: $(common-objpfx)config.make %.abilist \
+ $(objpfx)%.symlist
$(check-abi)
-check-abi-%: $(common-objpfx)config.make %.abilist $(common-objpfx)%.symlist
+$(objpfx)check-abi-%.out: $(common-objpfx)config.make %.abilist \
+ $(common-objpfx)%.symlist
$(check-abi)
define check-abi-pattern
- diff -p -U 0 $(filter $(abilist-pattern),$^) $(filter %.symlist,$^)
+ diff -p -U 0 $(filter $(abilist-pattern),$^) $(filter %.symlist,$^) \
+ > $@
endef
define check-abi
- diff -p -U 0 $(filter %.abilist,$^) $(filter %.symlist,$^)
+ diff -p -U 0 $(filter %.abilist,$^) $(filter %.symlist,$^) > $@
endef
ifdef abilist-pattern
@@ -1239,7 +1243,7 @@ endef
.PHONY: update-abi check-abi
update-abi: $(patsubst %.so,update-abi-%,$(install-lib.so-versioned))
-check-abi: $(patsubst %.so,check-abi-%,$(install-lib.so-versioned))
+check-abi: $(patsubst %.so,$(objpfx)check-abi-%.out,$(install-lib.so-versioned))
ifdef subdir
subdir_check-abi: check-abi
subdir_update-abi: update-abi
@@ -1249,7 +1253,7 @@ update-abi: subdir_update-abi
endif
ifeq ($(subdir),elf)
-check-abi: check-abi-libc
+check-abi: $(objpfx)check-abi-libc.out
update-abi: update-abi-libc
common-generated += libc.symlist
endif
diff --git a/elf/Makefile b/elf/Makefile
index 4c58fc9..a684b6b 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -255,7 +255,7 @@ endif
include ../Rules
-check-abi: check-abi-ld
+check-abi: $(objpfx)check-abi-ld.out
update-abi: update-abi-ld
ifeq (yes,$(build-shared))
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list