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

Reply via email to