On Sun, Feb 13, 2005 at 03:52:55AM +0000, Sisyphus wrote:
> # --- MakeMaker processPL section:
> 
> all :: Core.xs
>         $(NOECHO) $(NOOP)
> 
> Core.xs :: Core.xs.PL
>         $(PERLRUNINST) Core.xs.PL Core.xs

*snip*

> Afaict, Core.xs.PL is not being run - no warnings, no error messages, no 
> mention of 'Core.xs.PL' - it is just apparently being ignored.
> 'dmake' runs until it errors trying to link to Core.obj - which doesn't 
> exist. I'm assuming that Core.obj doesn't exist simply because Core.xs 
> didn't get generated in the first place. (Though with 'nmake' I get the 
> impression that Core.xs doesn't get generated until 'nmake' realises 
> that 'Core.obj' is needed ... but it's hard for me to work out just 
> what's going on behind the scenes. I really don't know if this is a 
> problem with the way dmake processes PL_FILES, or whether it's a problem 
> with the xs_c and/or xs_o sections.)

The code above, and what's in the Makefile you provided, appears correct.
Though make_from_PL() is kind of redundant.

The only thing I can think is somehow the Core.obj target is getting run
before Core.xs.PL is and Core.obj does not depend on Core.xs.  That's
100% hypothesis but I don't see anything in the Makefile which causes
Core.obj to be dependent on Core.xs but I don't really understand the .xs*
targets.

If it was GNU make I'd run a "make -d" and follow the dependency tree using
the resulting debug output.  Don't know what the dmake equivalent is.

Reply via email to