Collin Funk wrote:
> > make SHELL=/bin/ksh TESTS='tests/help/help-version.sh' SUBDIRS=. check
>
> Ah, you made me remember something that I noticed on AIX. I think their
> 'make' implementation does not properly handle '[' in target names.
>
> If you run 'gmake' following 'make', you should see that '[' gets
> created by 'gmake', when one would expect everything to already be
> created by the 'make' invocation.
Indeed, with 'make' it fails, and with 'gmake' it succeeds:
$ make SHELL=/bin/ksh TESTS='tests/help/help-version.sh' SUBDIRS=. check
make check-recursive
Making check in .
make check-TESTS check-local
FAIL: tests/help/help-version.sh
...
$ gmake SHELL=/bin/ksh TESTS='tests/help/help-version.sh' SUBDIRS=. check
GEN public-submodule-commit
gmake check-recursive
gmake[1]: Entering directory '/home/haible/coreutils-9.7.321-dc30e/build-64-gcc'
Making check in .
gmake[2]: Entering directory '/home/haible/coreutils-9.7.321-dc30e/build-64-gcc'
CC src/lbracket.o
CCLD src/[
GEN man/test.1
gmake check-TESTS check-local
gmake[3]: Entering directory '/home/haible/coreutils-9.7.321-dc30e/build-64-gcc'
gmake[4]: Entering directory '/home/haible/coreutils-9.7.321-dc30e/build-64-gcc'
PASS: tests/help/help-version.sh
> Do you think we should just require GNU Make in that situation?
That would make sense. GNU make is already required for the po/
directory (on macOS, Solaris 11, and AIX) in recent gettext versions.
I.e. it will be required by coreutils when in coreutils/configure.ac
the line
AM_GNU_GETTEXT_VERSION([0.19.2])
is upgraded to
AM_GNU_GETTEXT_VERSION([0.24]) dnl or newer
Bruno