This series raises the enforced minimum GNU Make version to 4.0 and
fixes a dtc build failure on long source paths.

Patch 1 raises the enforced minimum GNU Make version to 4.0, adding
an explicit "GNU Make >= 4.0 is required" check to the top-level
Makefile, dropping the now-dead GNU Make 3.x compatibility branches
and documenting the minimum in doc/build/gcc.rst.

Patch 2 fixes a build failure where a long $(srctree) makes the
HOSTCC/CPP command line for dtb and dtbo generation exceed the
shell's argument limit, by writing the preprocessor flags to a
response file and passing @file instead.

Azure CI was run for the patch 1/2. The macOS host-tools job
("Ensure host tools build for macOS X") and the rest of the pipeline
completed successfully: https://github.com/u-boot/u-boot/pull/1048

Changes in v3:
- Swap the order of the patches, so that GNU Make 4.0 is enforced
  before $(file ...) is used.
- 1/2: document the minimum GNU Make version in doc/build/gcc.rst.
- 1/2: updated commit description as per review comments.
- 2/2: compare and save the flags with the command, so that a change
  to them still rebuilds the .dtb or .dtbo.
- 2/2: write the response file only when a rebuild is needed.
- 2/2: also use the response file for the DEVICE_TREE_DEBUG diff
  command.
- 2/2: updated commit description as per review comments.

Changes in v2:
- 1/2: add Reviewed-by tag.
- 2/2: drop the Fixes tag.

Suraj Kakade (2):
  Makefile: drop GNU Make < 4.0 compatibility code
  scripts: pass dtc cpp flags via a GCC response file

 Makefile               | 20 +++++---------------
 doc/build/gcc.rst      |  3 +++
 scripts/Kbuild.include | 17 ++++++++++++++---
 scripts/Makefile.lib   | 15 ++++++++++++---
 4 files changed, 34 insertions(+), 21 deletions(-)

-- 
2.43.7

Reply via email to