build/prereq: require make 4.1 or later

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>
This commit is contained in:
Paul Spooren 2020-12-12 20:57:21 -10:00
parent 46b6ee7ffc
commit 6dba010157
2 changed files with 3 additions and 3 deletions

View File

@ -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
```

View 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, \