Makefile::Parser

A Simple Parser for Makefiles
Download

Makefile::Parser Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Agent Zhang
  • Publisher web site:
  • http://search.cpan.org/~agent/OpenResty-0.3.14/lib/OpenResty/Spec/Overview.pod

Makefile::Parser Tags


Makefile::Parser Description

A Simple Parser for Makefiles Makefile::Parser is a Simple Parser for Makefiles.SYNOPSIS use Makefile::Parser; $parser = Makefile::Parser->new; # Equivalent to ->parse('Makefile'); $parser->parse or die Makefile::Parser->error; # Get last value assigned to the specified variable 'CC': print $parser->var('CC'); # Get all the variable names defined in the Makefile: @vars = $parser->vars; print join(' ', sort @vars); @roots = $parser->roots; # Get all the "root targets" print $roots->name; @tars = $parser->targets; # Get all the targets $tar = join("n", $tars->commands); # Get the default target, say, the first target defined in Makefile: $tar = $parser->target; $tar = $parser->target('install'); # Get the name of the target, say, 'install' here: print $tar->name; # Get the dependencies for the target 'install': @depends = $tar->depends; # Access the shell command used to build the current target. @cmds = $tar->commands; # Parse another file using the same Parser object: $parser->parse('Makefile.old') or die Makefile::Parser->error; # Get the target who is specified by variable EXE_FILE $tar = $parser->target($parser->var('EXE_FILE'));This is a parser for Makefiles. At this very early stage, the parser only supports a limited set of features, so it may not recognize some advanced features provided by certain make tools like GNU make. Its initial purpose is to provide basic support for another module named Makefile::GraphViz, which is aimed to render the building process specified by a Makefile using the amazing GraphViz library. The Make module is not satisfactory for this purpose, so I decided to build one of my own. Requirements: · Perl


Makefile::Parser Related Software