Subject: Should automake use gmake by default if exists?

From: [email-masked]
Date: Tue, 21 May 2019 15:53:40 +0200

Hi,

automake expects GNU make to support dependency tracking.

On Solaris it works well if MAKE variable is set to gmake during the 
configuration, otherwise, it fails with the following error.

config.status: error: Something went wrong bootstrapping makefile fragments
     for automatic dependency tracking.  Try re-running configure with the
     '--disable-dependency-tracking' option to at least be able to build
     the package (albeit without support for automatic dependency tracking).
See `config.log' for more details

My suggestion is to use gmake by default if the command exists, 
otherwise fallback to make command. It could improve the overall user 
experience since the user would not need to search a solution 
(./configure MAKE=gmake) every-time this error is encountered.

Currently, it seems that the default MAKE value (${MAKE-make}) is 
hard-coded in four m4 files. Would it be possible to set the default 
MAKE value dynamically at the beginning of the configuration phase based 
on the existence of gmake and make commands? The m4 files could then 
expect that MAKE variable is defined from the configure script.

Note that we used automake 1.16.1 on Solaris 11.4 but the issue is also 
reproducible with older automake versions.

Thanks,
Libor