
Makefile.PL - Makefile generator for Parse::Eyapp. Developer notes

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
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 and lib/Parse/Eyapp/Treeregexp.pm are derived from the respective grammars (lib/Parse/Eyapp/Parse.yp and lib/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.
make publicdist
Remember to change the version number in Parse::Eyapp::Driver and Parse::Eyapp
make html
make pdfs
make dvis
make publichtml
make publicpdf
make docclean
make remotetest
(Set the environment variable MACHINES). The module GRID::Machine must be available.
make coverage
./make_eyapp_c_tests.pl if the clean tests fail and are you in a hurry. This program builds the files in t/cleanok/ and t/cleanvok/ used to test the behavior of eyapp when executed with option '-c' (See tests t/68cleangrammar and t/69cleanwithvgrammar
To use this Makefile.PL as developer is convenient to have installed:

Casiano Rodriguez-Leon (casiano@ull.es)

Copyright (c) 2006-2009 Casiano Rodriguez-Leon (casiano@ull.es). 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.