You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.6 KiB
45 lines
1.6 KiB
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))
|
|
|