build/prereq: require make 4.1 or later
authorPaul Spooren <mail@aparcar.org>
Sun, 13 Dec 2020 06:57:21 +0000 (20:57 -1000)
committerPaul Spooren <mail@aparcar.org>
Tue, 16 Feb 2021 02:35:49 +0000 (16:35 -1000)
FS#2086 "IS_TTY in the makefile is broken" reports flawed detection of
stdout piping to a file. The issue describes how e.g. terminal color
codes and up in log files if running make like `make > log.txt`.

The proposed solution uses the make variable "MAKE_TERMOUT", which was
introduced in make 4.1. All major distributions seem to updated to 4.1
or later, so this ideally dosen't break anything.

Signed-off-by: Paul Spooren <mail@aparcar.org>
README.md
include/prereq-build.mk

index 21acbf4b8056279ec223296afec5ce1d085428fe..b30819205be77c62cbf08299820dd00a99d182cf 100644 (file)
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@ the [Build System Setup](https://openwrt.org/docs/guide-developer/build-system/i
 documentation.
 
 ```
-gcc binutils bzip2 flex python3 perl make find grep diff unzip gawk getopt
+gcc binutils bzip2 flex python3 perl make4.1+ find grep diff unzip gawk getopt
 subversion libz-dev libc-dev rsync
 ```
 
index 6dce11cba26903da31839c0324d07c94ef61f187..f88e853b52038d24e2db82fc13adc4b6c5f74214 100644 (file)
@@ -11,8 +11,8 @@ PKG_NAME:=Build dependency
 
 # Required for the toolchain
 $(eval $(call TestHostCommand,working-make, \
-       Please install GNU make v3.82 or later. (This version has bugs), \
-       $(MAKE) -v | grep -E 'Make (3\.8[2-9]|3\.9[0-9]|[4-9]\.)'))
+       Please install GNU make v4.1 or later., \
+       $(MAKE) -v | grep -E 'Make (4\.[1-9]|[5-9]\.)'))
 
 $(eval $(call TestHostCommand,case-sensitive-fs, \
        OpenWrt can only be built on a case-sensitive filesystem, \