jmichael_ll at yahoo.com
Sun Jul 29 03:58:11 CEST 2012
> From: Prof A Olowofoyeku (The African Chief) <chief at greatchief.plus.com>
> Hebisch wrote:
> > > > echo "pascal.install done" ; @true
> > > >
> > > > Try:
> > > >
> > > > echo "pascal.install done" ; true
> > > >
> > > > that is remove '@' sign. Note: both lines start from a tab.
> > >
> > > It does nothing very different compared to removing everything after
> > > "echo pascal.install done".
> > The comment above this line says that the semicolon and 'true'
> > command were added on purpose. I admit that I do not understand
> > which problem this tries to fix, but given that it seems
> > safer to keep it. We had '; @true' in this line for several
> > years and nobody complained about it. Similarly, the fact
> > that you see no problem after removal of it does not mean that
> > it will work fine for everybody after removing it.
> I get your point, but we are talking about different things.
> This is what is in the release tarball:
> 'pascal.install: pascal.install-normal pascal.install-compiler; @true'
> This is what is in the git version:
> 'pascal.install: pascal.install-normal pascal.install-compiler
> echo "pascal.install done" ; @true'
> Seems to me that these lines are not the same?
gmake lets you put the first command ("line" of the "recipe")
at the end of the line of prerequisites, using a semicolon to
separate the command from the prerequisites.
a: b c ; d
is supposed to be the same as
a: b c
The at-sign ('@') is supposed to suppress the printing of the
It looks like, in the building of two pseudo-targets by
specifying them as prerequisites of yet another pseudo-target,
someone wanted to specify a do-nothing recipe for the top-level
target (maybe to keep it from inheriting implicit recipes, maybe
to suppress a "don't know how to make" message). So he told it
to run the program "true", which always terminates with an exit
status of "SUCCESS".
I think your real problem is that you somehow don't have this
program "true" visible. Under Windows, I find
I've seen postings indicating it's a standard program under
UNIX (or at least Linux).
More information about the Gpc