NAME
Makefile.PL - Makefile generator for Parse::Eyapp. Developer notes
SYNOPSIS
When working as a developer run
source etc/myscript
to set the appropriate environment variables. Some variables to set are:
PATH to execute eyapp, treereg, etc. PERL5LIB to find any modules required DEVELOPER used by many skip tests MACHINES a white space string containing the machines for the 'remotetest' target PUBLIC_PLACE A dir to save the pdf files
After you checked out from the svn repository this project, and set the environment variables, try to produce a
Makefile
. You will surely get a warning:pl@nereida:~/src/perl/Parse-Eyapp$ perl Makefile.PL Checking if your kit is complete... Warning: the following files are missing in your kit: lib/Parse/Eyapp/Parse.pm lib/Parse/Eyapp/Treeregexp.pm Please inform the author. Writing Makefile for Parse::Eyapp
This is because the files
lib/Parse/Eyapp/Parse.pm
andlib/Parse/Eyapp/Treeregexp.pm
are derived from the respective grammars (lib/Parse/Eyapp/Parse.yp
andlib/Parse/Eyapp/Treeregexp.yp
).It will also complain about the absence of the pods
Warning: the following files are missing in your kit: lib/Parse/Eyapp/MatchingTrees.pod lib/Parse/Eyapp/translationschemestut.pod lib/Parse/Eyapp/YATW.pod
The pods are built from the templates in
tt2/
.Compile the grammars and produce the pods using the makefile
makepods
:Parse-Eyapp$ make -f makepods yapp -n -m 'Parse::Eyapp::Parse' -o 'lib/Parse/Eyapp/Parse.pm' lib/Parse/Eyapp/Parse.yp PERL5LIB=lib; eyapp -n -m 'Parse::Eyapp::Parse' -o 'lib/Parse/Eyapp/Parse.pm' lib/Parse/Eyapp/Parse.yp PERL5LIB=lib; perl eyapp -v -n -m Parse::Eyapp::Treeregparser -o lib/Parse/Eyapp/Treeregexp.pm lib/Parse/Eyapp/Treeregexp.yp rm -fR Parse-Eyapp-*.tar.gz cd tt2; tpage Base.tt2 > ../lib/Parse/Eyapp/Base.pod cd tt2; tpage datagenerationtut.tt2 > ../lib/Parse/Eyapp/datagenerationtut.pod cd tt2; tpage debuggingtut.tt2 > ../lib/Parse/Eyapp/debuggingtut.pod cd tt2; tpage defaultactionsintro.tt2 > ../lib/Parse/Eyapp/defaultactionsintro.pod cd tt2; tpage Driver.tt2 > ../lib/Parse/Eyapp/Driver.pod cd tt2; tpage eyappintro.tt2 > ../lib/Parse/Eyapp/eyappintro.pod cd tt2; tpage eyapplanguageref.tt2 > ../lib/Parse/Eyapp/eyapplanguageref.pod cd tt2; tpage MatchingTrees.tt2 > ../lib/Parse/Eyapp/MatchingTrees.pod cd tt2; tpage Node.tt2 > ../lib/Parse/Eyapp/Node.pod cd tt2; tpage Parse.tt2 > ../lib/Parse/Eyapp/Parse.pod cd tt2; tpage Scope.tt2 > ../lib/Parse/Eyapp/Scope.pod cd tt2; tpage TokenGen.tt2 > ../lib/Parse/Eyapp/TokenGen.pod cd tt2; tpage translationschemestut.tt2 > ../lib/Parse/Eyapp/translationschemestut.pod cd tt2; tpage Treeregexp.tt2 > ../lib/Parse/Eyapp/Treeregexp.pod cd tt2; tpage YATW.tt2 > ../lib/Parse/Eyapp/YATW.pod
This target uses Parse::Yapp to make a first compilation. Then it uses bootstrap and
eyapp
compiles itself. Be sure you have installed Parse::Yapp.Before realising a distribution in CPAN via PAUSE do:
make publicdist
Remember to change the version number in Parse::Eyapp::Driver and Parse::Eyapp
To build the *.html files:
make html
To build pdf files:
make pdfs
To build dvi files:
make dvis
To make public the *.html files:
make publichtml
To make public pdf files:
make publicpdf
To delete generated docs (*.html, *.pdf, etc.)
make docclean
To run the tests on remote machines
make remotetest
(Set the environment variable
MACHINES
). The module GRID::Machine must be available.To use Devel::Cover to study test coverage:
make coverage
Run
./make_eyapp_c_tests.pl
if the clean tests fail and are you in a hurry. This program builds the files int/cleanok/
andt/cleanvok/
used to test the behavior of eyapp when executed with option'-c'
(See testst/68cleangrammar
andt/69cleanwithvgrammar
DEPENDENCIES
To use this Makefile.PL
as developer is convenient to have installed:
Template toolkit
Pod2LaTeX
LaTeX
pod2cpanhtml
Devel::Cover
Parse::Yapp
GRID::Machine
AUTHOR
Will Braswell <wbraswell@cpan.org>
LICENSE AND COPYRIGHT
Copyright © 2006, 2007, 2008, 2009 Casiano Rodriguez-Leon. Copyright © 2017 William N. Braswell, Jr. All Rights Reserved.
Parse::Yapp is Copyright © 1998, 1999, 2000, 2001, Francois Desarmenien. Parse::Yapp is Copyright © 2017 William N. Braswell, Jr. All Rights Reserved.
These modules are free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 376:
Non-ASCII character seen before =encoding in '©'. Assuming UTF-8