Tom Lord <[EMAIL PROTECTED]> writes:
> Long-time automake readers already know I'm strongly against
> this sort of structuring. This yields Makefiles which are
> fragile and undependable. For instance, if you create a
> temporary file with a "source-like" name in the source tree,
> then the build fails.
>
>
> Conversely, using the opposite approach, if you add a source file, and
> fail to correctly update the makefile, the build fails. Big whoop.
> Just as "fragile and undependable" either way. This is a purely
> rhetorical line of analysis that admits no objective decision making.
Globbing can inadvertently lead to unwanted files being
compiled/distributed/deleted/whatever. If you accidentally delete a
source file, make won't complain because it won't know.
If you explicitly list the files, it ensures the dependencies will be
correct. You want the build to be /consistent/, and globbing does not
guaruantee consistency. The build should be identical on my machine,
all my co-developers' machines and my users machines, whatever
temporary files, copied files etc. are in the source tree, and
whatever they deleted, either accidentally or on purpose. In these
cases a list certainly isn't fragile, and is much more dependable than
globbing.
Having to keep the Makefile.am up-to-date is a very small price to pay
for consistency.
That's not to say globbing is never useful; it certainly is. However,
it does cause more problems than it solves. Try working out why
$random_user's build is failing when you can't predict what is
actually happening.
Regards,
Roger
--
Roger Leigh
"Liberty and Livelihood" - Support the Countryside Alliance
Need Epson Stylus Utilities? http://gimp-print.sourceforge.net/
GPG Public Key: 0x25BFB848 available on public keyservers