Nmake is stupid.

2001-12-12 Thread Jaen Saul

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.

---snip---
Usage:  NMAKE @commandfile
NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]

Options:

/A Build all evaluated targets
/B Build if time stamps are equal
/C Suppress output messages
/D Display build information
/E Override env-var macros
/HELP Display brief usage message
/I Ignore exit codes from commands
/K Build unrelated targets on error
/N Display commands but do not execute
/NOLOGO Suppress copyright message
/P Display NMAKE information
/Q Check time stamps but do not build
/R Ignore predefined rules/macros
/S Suppress executed-commands display
/T Change time stamps but do not build
/U Dump inline files
/Y Disable batch-mode
/? Display brief usage message
---snip---

-Jaen Saul




Re: Nmake is stupid.

2001-12-12 Thread Dan Sugalski

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.

Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk




Re: Nmake is stupid.

2001-12-12 Thread 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

-- 

Michael G. Schwern   [EMAIL PROTECTED]http://www.pobox.com/~schwern/
Perl Quality Assurance  [EMAIL PROTECTED] Kwalitee Is Job One
Stupid am I?  Stupid like a fox!



Re: Nmake is stupid.

2001-12-12 Thread Dan Sugalski

At 07:39 PM 12/12/2001 -0500, Michael G Schwern wrote:
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

Almost. If we didn't have a replacement almost ready to go, we probably would.

Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk




RE: Nmake is stupid.

2001-12-12 Thread Brent Dax

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\Desktoppmake
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




RE: Nmake is stupid.

2001-12-12 Thread Dan Sugalski

At 05:14 PM 12/12/2001 -0800, Brent Dax wrote:
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...

The big issue there is bootstrapping--we'd really like to run without 
anything fancy enabled, or modules. It could be a rather non-trivial thing 
to do. (Of course, we could have the make program generate a static 
platform build script for the bootstrap phase, which is likely what we'll 
ultimately do)

Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk




Re: Nmake is stupid.

2001-12-12 Thread Robert Spier

| patches integrated in soon, and a longer-term solution (i.e. a perl make) 
| should be ready not too long after that.

bool query  {
  Dan, you've been unclear.  Is a perl5 based make system
where you want to be today?
}

-R



Re: Nmake is stupid.

2001-12-12 Thread Dan Sugalski

At 05:40 PM 12/12/2001 -0800, Robert Spier wrote:
| patches integrated in soon, and a longer-term solution (i.e. a perl make)
| should be ready not too long after that.

bool query  {
   Dan, you've been unclear.  Is a perl5 based make system
where you want to be today?
}

Perl, yes. At the moment perl 5, but we'll morph it over to perl 6 when 
we've a working parser for it.

Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk




Re: Nmake is stupid.

2001-12-12 Thread Jeff G

Dan Sugalski wrote:
 
 At 05:40 PM 12/12/2001 -0800, Robert Spier wrote:
 | patches integrated in soon, and a longer-term solution (i.e. a perl make)
 | should be ready not too long after that.
 
 bool query  {
Dan, you've been unclear.  Is a perl5 based make system
 where you want to be today?
 }
 
 Perl, yes. At the moment perl 5, but we'll morph it over to perl 6 when
 we've a working parser for it.

What's this when?
make.pl v. ~0.6  committed. It uses a fairly simple line-based parser,
not P::RD. I didn't want to require non-core modules, but we can
certainly take this and morph it into something more perl-like. As a
matter of fact, I would prefer to do this, but doing that would break
GNU make compatibility. Given the HoHoHoHo... data structure I use to
hold dependencies it would be fairly straightforward to map onto
something using P::RD.

--
Jeff [EMAIL PROTECTED]