Making NeoMutt#
How NeoMutt Assembles the Source
The NeoMutt build relies on a lot of pre-/post-processing.
The diagrams below shows how the code and docs fit together.
Key:
Ellipse : source file
Square : action
Blue square : normal command
Green square : NeoMutt script/command
Red dot : action is dependent on the environment (OS, libs, etc.)
Green star : action is dependent on user configuration
{Braces} : multiple files follow this pattern
Source Code:
compulsory : always compiled into NeoMutt
conditional : depends on user config
environmental : depends on OS’s available libraries
generated : created from other files
shared : used in multiple places
Diagram Source:
Render the diagrams with the dot command:
dot -Tsvg make-code.gv > make-code.svg
dot -Tsvg make-docs.gv > make-docs.svg
(from the graphviz package)