Code Monkey home page Code Monkey logo

make's Issues

Module takeover?

Would you like to transfer the repository over to me? I've already requested of the PAUSE Gods to be granted PAUSE permissions, I'd just prefer to keep the repo unitary rather than forking it.

Breaks on "perl in space"

This is because exp_depend naively splits on /\s+/ the results of subsvar, which returns a single string. Directories with spaces in are in the EUMM-generated Makefile, which is what the test uses. Instead subsvar needs to return a list, having done splitting itself, and both it and exp_depend do a -e on each item. If it does exist, don't split it. GNU make gets this right.

Build documentation commands are incorrect

The documentation in the readme on Github, contains the following commands to build, test and install.

perl Makefile.PL
perl -I. pure-perl-make 
perl -Mblib pure-perl-make test 
perl -Mblib pure-perl-make install 

The do not work with the current directory structure. I'm guessing there was a change somewhere and this POD was not updated.

I found the following commands worked for me:

perl Makefile.PL
perl -Ilib ./scripts/pure-perl-make
perl -Mblib ./scripts/pure-perl-make test
perl -Mblib ./scripts/pure-perl-make install

I sought this out because I was trying to install a few pure perl packages on my Synology NAS using the perl 5.28 available for it. Synology does not ship with a version of make. As such, I needed a way to get a "make" to be used to install other packages. This worked quite nicely for me once I made the changes above and then created a link from pure-perl-make to make. I installed App::cpm from the self-contained package on its Github site and then issued cpm install -gv App::cpm to have it perform a full install to my local::lib. Afterwards, I installed YAML:PP and JSON::PP.

Thank you for the package.

LBE

pmake conflicts with Debian pmake

pmake is the name of the FreeBSD make (although it is invoked there as just make). On Debian the BSD make is invoked as pmake which conflicts with the script that comes with this distribution. There should be an option when installing to not install the pure perl pmake or to install it under a different name. I would even argue that it might be better to use a completely different name.

have pmake set environment variables

Original: https://rt.cpan.org/Ticket/Display.html?id=5716

Hi Nick,

On my windows machine i'm a user of your very useful
pmake. On otherplateform, with other make avartar, it
seems to me that when you put parameters on the command
line, these parameters are automatically defined
as environment variables. So the following minor
modification of the apply() method. That's satisfied my
own needs, but i ignore if this modification is really
right.

Regards
Philippe

sub apply
{
 my $self = shift;
 my $method = shift;
 $self->NextPass;
 my @targets = ();
 # print STDERR join(' ',Apply => $method,@_),"\n";
 foreach (@_)
 {
 if (/^(\w+)=(.*)$/)
 {
 #print STDERR "OVERRIDE: $1 = $2\n";
 $self->{Override}{$1} = $2;
 # PHV
 $ENV{$1} = $2;
 # PHV
 }
 else
 {
 push(@targets,$_);
 }
 }
 #
 # This expansion is dubious as it alters the database
 # as a function of current values of Override.
 #
 $self->ExpandTarget; # Process $(VAR) :
 @targets = ($self->{'Targets'}[0])->Name unless (@targets);
 # print STDERR join(' ',Targets => $method,map($_->Name,@targets)),"\n";
 foreach (@targets)
 {
 my $t = $self->{Depend}{$_};
 unless (defined $t)
 {
 print STDERR join(' ',$method,@_),"\n";
 die "Cannot `$method' - no target $_"
 }
 $t->$method();
 }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.