| 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 3b5e1f59e6696a2b..22a8060f7d3bb1a1 100644 |
| |
| |
| @@ -986,6 +986,7 @@ tests-special += \ |
| # tests-special |
| 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 |
| @@ -993,9 +994,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)) |