|
LCA: Disintermediating distributionsLCA: Disintermediating distributionsPosted Feb 7, 2008 0:15 UTC (Thu) by stevenj (subscriber, #421)In reply to: LCA: Disintermediating distributions by DonDiego Parent article: LCA: Disintermediating distributions
Try using raw 'make' in a project with subdirectories sometime. Another obstacle is that 'make' relies on 'sh' (a fairly primitive language) if you want to do anything nontrivial, and portable shell programming requires extreme care. (This is also a source of unfortunate complexity in autoconf and automake, but they provide tools to lessen your dependence on sh, at least.)
(Log in to post comments)
LCA: Disintermediating distributions Posted Feb 7, 2008 4:39 UTC (Thu) by roelofs (subscriber, #2599) [Link] Try using raw 'make' in a project with subdirectories sometime.Have:
$(MAKE) -C subdir
or
cd subdir && $(MAKE)
I believe even MS nmake circa 1990 supported that much, and it's not even close to a standard make. Every Unix make I've used (couple dozen) was better than that. But it has been quite a few years since I messed with any of this stuff, so craniorectal impaction is always a possibility. Greg
LCA: Disintermediating distributions Posted Feb 7, 2008 10:05 UTC (Thu) by epa (subscriber, #39769) [Link] Have a look at the article linked from the parent post. Calling one 'make' from another makefile tends to lead to all sorts of crufty problems. The paper gives examples, and my own experience certainly confirms it. That said, you can use make in a large project, just not by recursive invocation.
LCA: Disintermediating distributions Posted Feb 7, 2008 11:52 UTC (Thu) by cortana (subscriber, #24596) [Link] > Try using raw 'make' in a project with subdirectories sometime. Then you have already failed. Why on earth would anyone want to call make recursively? The only reason I have ever heard is "because I don't understand what I'm doing, and I cargo culted my build system from someone else, who also did not understand what he was doing".
|
Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.