From: Christian Boos Date: 2001-12-22T01:24:08+09:00 Subject: [ruby-talk:29241] Re: Ruby 'make' replacement (Re: stderr from external process?) > -----Original Message----- > From: Johan Holmberg [mailto:holmberg@iar.se] > Sent: Friday, December 21, 2001 4:28 PM > To: ruby-talk ML > Subject: [ruby-talk:29233] Re: Ruby 'make' replacement (Re: stderr from > external process?) > > > > Sometimes I get the impression that every programmer want to write > their own make-tool. Initially it seems almost trivial: just a > depth-first traversal of a directed graph. But the more you look at > it, the more small details you discover. Making a really useful > make-tool is not trivial. > ;) Yeah, but I also want to write my own compiler, so I need first an make tool (then an editor...) More seriously, I think I took advantage of most of the GNU make features (which are going far beyond the average make tool) and recognized a few but very annoying limitations. The major part of it were: 1) the difficulty to trigger rebuilds across directories (from one subproject to its dependent subprojects), even using vpath directives 2) triggering recursive make is slow (esp. on Windows) 3) the same applies for subshells, which are needed in each rule action and anytime you need to do something which is beyond the realms of the builtin functions in gmake (and this happens quite often) Of course there may exist on earth people who are perfectly happy with gmake and know better than me how to avoid all those problems. Personally I just happen to think that a script-based build tool can overcome most of the problems I faced with GNU make over the last 1 year and a half (at least it will be possible for me to fully understand the logic of the tool, see http://www.paulandlesley.org/gmake/multi-arch.html for an in-depth discussion of the issues with GNU make and the workarounds :) -- Christian