[luau] small bug, make or editor?
Ray Strode
halfline at hawaii.rr.com
Mon Jul 15 21:20:01 PDT 2002
>
>
>Which manual says it is deprecated?
>
The gmake manual:
*> Suffix rules* are the old-fashioned way of defining implicit rules
for |make|. Suffix rules are
> obsolete because pattern rules are more general and clearer. They are
supported in GNU |make
>| for compatibility with old makefiles.
(http://www.gnu.org/manual/make-3.79.1/html_mono/make.html#SEC106)
>The .SUFFIXES directive tells gmake to discard the default rules listed.
>
From what I read, it says, the .SUFFIXES directive discards the default
ruleset, only if
it is blanked. Of course, you can use the directive more than once:
> You can add your own suffixes by writing a rule for |.SUFFIXES| that
adds more prerequisites
[...]
> If you wish to eliminate the default known suffixes instead of just
adding to them, write
> a rule for |.SUFFIXES| with no prerequisites. By special
dispensation, this eliminates all
> existing prerequisites of |.SUFFIXES|. You can then write another
rule to add the suffixes
> you want.
>Otherwise, your new rules will be added to the default. Which is usually not what you want.
>
I don't think so. I believe if you don't use .SUFFIXES to specifiy
prequisites, then it will
interpret the suffix as if it were a filename. (Again, I could be wrong.)
>>Note the .PHONY directive. Without it, if you ever created a file
>>called, "jar" or "clean" inside the srcdir, then the "jar" or "clean"
>>targets wouldn't work (respectively).
>>
>>
>
>This would seem to get out of hand if you had 10's of rules.
>
I guess the list could get rather long, but I can't think of a
better way.
>>For the clean directive, it's better to put a - before the $(RM), just
>>
>>
> ^^^^^^^^^^^^^^^
>People call these 'rules'...Directives are like .ifeq, or .PHONY.
>Basically, anything that starts with a period.
>
Oops. You're right, of course.
>>In case you don't have any class files (- means make shouldn't care if
>>the command returns non-zero exit status.) It actually doesn't matter
>>in the default case, I don't think, because $(RM) is normally expanded
>>to "rm -f".
>>
>>
>It is safer to set RM yourself.
>
I agree. It's always a good idea to set all the variables you use, rather
than relying on defaults (which may change with new releases of gmake), but
I still think it's a good idea to add the preceding hyphen, just in case
the user running make overrides the value specified.
--Ray
More information about the LUAU
mailing list