@@ -2494,7 +2494,9 @@ Desired permission for executable files. Defaults to C<755>.
24942494MakeMaker can run programs to generate files for you at build time.
24952495By default any file named *.PL (except Makefile.PL and Build.PL) in
24962496the 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+
25072511Would 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
25222526accessed... unless the PL file is making a module (or anything else in
25232527PM) in which case it is run B<before > pm_to_blib and does not include
25242528INST_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