Skip to content

Commit c2d472c

Browse files
committed
Merge pull request #197 from bulk88/master
improve the docs on PL_FILES
2 parents d6299bc + 5b36331 commit c2d472c

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

lib/ExtUtils/MakeMaker.pm

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2494,7 +2494,9 @@ Desired permission for executable files. Defaults to C<755>.
24942494
MakeMaker can run programs to generate files for you at build time.
24952495
By default any file named *.PL (except Makefile.PL and Build.PL) in
24962496
the top level directory will be assumed to be a Perl program and run
2497-
passing its own basename in as an argument. For example...
2497+
passing its own basename in as an argument. This basename is actually a build
2498+
target, and there is an intention, but not a requirement, that the *.PL file
2499+
make the file passed to to as an argument. For example...
24982500
24992501
perl foo.PL foo
25002502
@@ -2504,6 +2506,8 @@ and the value is passed in as the first argument when the PL file is run.
25042506
25052507
PL_FILES => {'bin/foobar.PL' => 'bin/foobar'}
25062508
2509+
PL_FILES => {'foo.PL' => 'foo.c'}
2510+
25072511
Would run bin/foobar.PL like this:
25082512
25092513
perl bin/foobar.PL bin/foobar
@@ -2522,7 +2526,14 @@ INST_ARCH in their C<@INC>, so the just built modules can be
25222526
accessed... unless the PL file is making a module (or anything else in
25232527
PM) in which case it is run B<before> pm_to_blib and does not include
25242528
INST_LIB and INST_ARCH in its C<@INC>. This apparently odd behavior
2525-
is there for backwards compatibility (and it's somewhat DWIM).
2529+
is there for backwards compatibility (and it's somewhat DWIM). The argument
2530+
passed to the .PL is set up as a target to build in the makefile. In other
2531+
sections such as C<postamble> you can specifiy a dependency on the
2532+
filename/argument that the .PL is supposed (or will have to, now that that is
2533+
is a dependency) to generate. Note the file to be generate will still be
2534+
generated and the .PL will still run even without an explicit dependency created
2535+
by you, since the C<all> target still depends on running all eligible to run.PL
2536+
files.
25262537
25272538
=item PM
25282539

0 commit comments

Comments
 (0)