help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GMAKE 3.81 vs GMAKE 4.2


From: Paul Smith
Subject: Re: GMAKE 3.81 vs GMAKE 4.2
Date: Sat, 05 Oct 2019 10:04:57 -0400
User-agent: Evolution 3.32.1-2

On Fri, 2019-10-04 at 07:36 +0530, nikhil jain wrote:
> So it looks like the wild card issue as you mention.

If that is indeed the case, it means your build system is relying on
the sorted order of some files retrieved by wildcard in order to build
properly.

That's a problem: it makes your build system very brittle.  What if new
files are added, or existing files are renamed, which break things
again?  I recommend that you make an attempt to discover why this is
the case and use a specific list of files with a well-known order
(probably with a comment or two in the makefile explaining why the
ordering requirement exists) rather than relying on the order returned
by wildcard.

You can test this by going through your makefiles and replacing
instances of $(wildcard ...) with $(sort $(wildcard ...)) then trying
to build and test with GNU make 3.82 or 4.2.1 etc. and determine when
it starts working.

> I use command line option VERBOSE to enable and disable rule display on
> screen while building. I usually check if I pass verbose as false then I
> append @ to the command so make doesn't display it.
> 
> But when I pass true, still it doesn't display the command.

Unfortunately these abstract explanations of problems don't allow us to
help.

Given the above description, the way *I* would implement it works the
same in GNU make 3.81 and 4.2.1 and all other versions of GNU make.

We need to know exactly how you "use command line option VERBOSE",
exactly how you "check if verbose [is] false", and exactly how you
"append @ to the command".

Please construct a small reproducible case you can post here which
shows the problem, and show us the make command line you invoked, the
output you got, and explain how that's different from the output you
wanted.  Then we can help.

Cheers!




reply via email to

[Prev in Thread] Current Thread [Next in Thread]