Query: makefile::ast
OS: debian
Section: 3pm
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
Makefile::AST(3pm) User Contributed Perl Documentation Makefile::AST(3pm)NAMEMakefile::AST - AST for (GNU) makefilesDESCRIPTIONThe structure of this (GNU) makefile AST is designed based on GNU make's data base listing output produced by "--print-data-base". This AST library provides the following classes: Makefile::AST The primary class for ASTs. Provides interface for node adding and querying, such as "add_implicit_rule", "apply_implicit_rules", "add_explicit_rule", "apply_explicit_rules", "add_var", "add_auto_var", "get_var", as well as lots of other utility functions, like method "eval_var_value" for computing the ultimate values of makefile variables, method "enter_pad" and "leave_pad" for local variable's scoping pad. Makefile::AST::Rule::Base This is the base class for the rule nodes in the AST. It has properties like "normal_prereqs", "order_prereqs", "commands", and "colon". Makefile::AST::Rule This class represents the de-sugared form of simple rules and implicite rules after application. It inherits from Makefile::AST::Rule::Base, and adds new properties "target" and "other_targets". Makefile::AST::Rule::Implicit This class represents the implicit rule nodes in the AST. It inherits from Makefile::AST::Rule::Base, and adds new properties "targets", "match_anything", and "is_terminal". Makefile::AST::StemMatch This class encapsulates the file pattern matching (file names containing "%") and stem substitution algorithms. Makefile::AST::Variable It represents the makefile variable nodes in the AST, including "name", "value", "flavor", and "origin". Makefile::AST::Command Used to encapsulate information regarding makefile rule commands (e.g. command body, command modifiers "@", "-", "+", and etc.) as a whole.LIMITATIONS AND TODOAdding support for other flavors' makes into this AST library should make a huge amount of sense. The most interesting candiate is Microsoft's NMAKE.CODE REPOSITORYFor the very latest version of this script, check out the source from http://github.com/agentzh/makefile-parser-pm <http://github.com/agentzh/makefile-parser-pm>. There is anonymous access to all.AUTHORZhang "agentzh" Yichun "<agentzh@gmail.com>"COPYRIGHT AND LICENSECopyright (c) 2007-2008 by Zhang "agentzh" Yichun (agentzh). This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.SEE ALSOMakefile::AST::Evaluator, Makefile::Parser::GmakeDB, makesimple, pgmake-db, Makefile::DOM. perl v5.12.4 2011-08-17 Makefile::AST(3pm)
Related Man Pages |
---|
me_ast(n) - mojave |
dlm_ls_unlock(3) - debian |
me_ast(n) - osx |
astro::fits::header::ast(3pm) - debian |
makefile::parser(3pm) - debian |
Similar Topics in the Unix Linux Community |
---|
Makefile relinks everytime |
shopt -s nullglob |
Problem with a Makefile |
How to define dynamic Target/Prerequisite in Makefile? |
Utilizing the Make Command |