Michael G Schwern: # On Wed, Dec 12, 2001 at 01:58:49PM -0500, Dan Sugalski wrote: # > At 08:54 PM 12/12/2001 +0200, Jaen Saul wrote: # > >Well, another small post again :) # > >As you see, -C doesn't do anything useful on NMAKE. So # Win32 is still # > >broken. The -C way doesn't work. # > # > VMS is broken this way too, as is anything without GNU # make. We'll get your # > patches integrated in soon, and a longer-term solution # (i.e. a perl make) # > should be ready not too long after that. # # Anyone insane enough to try this? # http://www.cpan.org/modules/by-module/Make/Make-1.00.tar.gz
I use it whenever nmake is being bitchy and there's no Makefile in dmake format. Usually works pretty well, except for that extra output: C:\Documents and Settings\Administrator\Desktop>pmake Reading C:/Perl/site/lib/Make.pm Reading C:\Documents and Settings\Administrator\Desktop\makefile echo yup yup However, what I think would be really ideal would be something more like: target foo.$o depends(bar.$o, baz.c) { print "yup"; } In other words, a Perl solution. It would probably have some built-in functions like: cc_o(@infiles, $outfile) cc_so(@infiles, $outfile) cc_exec(@infiles, $outfile) runprog($progname, @args) #in case we're building on VMS or something Thinking about it, this could be implemented as a source filter. target("foo.$o", sub {print "yup"}, depends => ["bar.$o", "baz.c"]); #other targets here do_the_make_stuff(); A P::RD grammar would probably handle that quite nicely...hmm... target: 'target' file parameters block { qq{target("$item{file}", sub $item{block}, $item{parameters}) } } block: <perl_codeblock> parameters: parameter(s? / /) parameter: paramname '(' filelist ')' { qq{'$item{paramname}' => $item{filelist} } } #etcetera --Brent Dax [EMAIL PROTECTED] Configure pumpking for Perl 6 "Nothing important happened today." --George III of England's diary entry for 4-Jul-1776