perl-Makefile-DOM

Simple DOM parser for Makefiles

This libary can serve as an advanced lexer for (GNU) makefiles. It parses makefiles as "documents" and the parsing is lossless. The results are data structures similar to DOM trees. The DOM trees hold every single bit of the information in the original input files, including white spaces, blank lines and makefile comments. That means it's possible to reproduce the original makefiles from the DOM trees. In addition, each node of the DOM trees is modifiable and so is the whole tree, just like the the PPI manpage module used for Perl source parsing and the the HTML::TreeBuilder manpage module used for parsing HTML source. If you're looking for a true GNU make parser that generates an AST, please see the Makefile::Parser::GmakeDB manpage instead. The interface of 'Makefile::DOM' mimics the API design of the PPI manpage. In fact, I've directly stolen the source code and POD documentation of the PPI::Node manpage, the PPI::Element manpage, and the PPI::Dumper manpage, with the full permission from the author of the PPI manpage, Adam Kennedy. 'Makefile::DOM' tries to be independent of specific makefile's syntax. The same set of DOM node types is supposed to get shared by different makefile DOM generators. For example, the MDOM::Document::Gmake manpage parses GNU makefiles and returns an instance of the MDOM::Document manpage, i.e., the root of the DOM tree while the NMAKE makefile lexer in the future, 'MDOM::Document::Nmake', also returns instances of the the MDOM::Document manpage class. Later, I'll also consider adding support for dmake and bsdmake.

There is no official package available for openSUSE Leap 15.5

Distributions

openSUSE Tumbleweed

openSUSE Leap 15.6

openSUSE Leap 15.5

openSUSE Leap 15.4

Unsupported distributions

The following distributions are not officially supported. Use these packages at your own risk.