On 28 Jul 2012 at 18:58, Jay Michael wrote:
[...]
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 d The at-sign ('@') is supposed to suppress the printing of the
command.
Indeed.
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".
Yes.
I think your real problem is that you somehow don't have this
program "true" visible.
It is visible. What the shell doesn't like is the "@" sign (i.e., in "@true"). Just running "true" as Waldek suggests works fine - but the command line is printed (which is quite fine IMHO). Removing the semi-colon and the "true" or "@true" after it also works okay - but who knows whether it can cause problems on another platform? So I guess we should simply removing the "@" sign as suggested by Waldek. I don't pretend to understand unix shells very intimately, so perhaps the best option is minimal intervention.
Best regards, The Chief -------- Prof. Abimbola A. Olowofoyeku (The African Chief) web: http://www.greatchief.plus.com/