46 lines
1.6 KiB
Diff
46 lines
1.6 KiB
Diff
|
commit 1f67d8286b5da9266a138198ef1f15c27cbb0010
|
||
|
Author: H.J. Lu <hjl.tools@gmail.com>
|
||
|
Date: Mon Nov 15 16:28:39 2021 -0800
|
||
|
|
||
|
elf: Use a temporary file to generate Makefile fragments [BZ #28550]
|
||
|
|
||
|
1. Use a temporary file to generate Makefile fragments for DSO sorting
|
||
|
tests and use -include on them.
|
||
|
2. Add Makefile fragments to postclean-generated so that a "make clean"
|
||
|
removes the autogenerated fragments and a subsequent "make" regenerates
|
||
|
them.
|
||
|
|
||
|
This partially fixes BZ #28550.
|
||
|
|
||
|
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||
|
|
||
|
diff --git a/elf/Makefile b/elf/Makefile
|
||
|
index 02ee834fdaf00a26..535ba4260fb98e64 100644
|
||
|
--- a/elf/Makefile
|
||
|
+++ b/elf/Makefile
|
||
|
@@ -471,6 +471,7 @@ tests-special += $(objpfx)order-cmp.out $(objpfx)tst-array1-cmp.out \
|
||
|
$(objpfx)tst-unused-dep-cmp.out
|
||
|
endif
|
||
|
|
||
|
+ifndef avoid-generated
|
||
|
# DSO sorting tests:
|
||
|
# The dso-ordering-test.py script generates testcase source files in $(objpfx),
|
||
|
# creating a $(objpfx)<testcase-name>-dir for each testcase, and creates a
|
||
|
@@ -478,9 +479,14 @@ endif
|
||
|
define include_dsosort_tests
|
||
|
$(objpfx)$(1).generated-makefile: $(1)
|
||
|
$(PYTHON) $(..)scripts/dso-ordering-test.py \
|
||
|
- --description-file $$< --objpfx $(objpfx) --output-makefile $$@
|
||
|
-include $(objpfx)$(1).generated-makefile
|
||
|
+ --description-file $$< --objpfx $(objpfx) --output-makefile $$@T
|
||
|
+ mv $$@T $$@
|
||
|
+-include $(objpfx)$(1).generated-makefile
|
||
|
endef
|
||
|
+endif
|
||
|
+
|
||
|
+postclean-generated += $(objpfx)/dso-sort-tests-2.generated-makefile \
|
||
|
+ $(objpfx)/dso-sort-tests-2.generated-makefile
|
||
|
|
||
|
# Generate from each testcase description file
|
||
|
ifeq (yes,$(have-tunables))
|