Whiteboard
An interface and tools for visualizing large and complex datasets
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
makefile_builder Class Reference

Classes

class  dependency
 
class  subdir_and_target
 

Public Member Functions

 makefile_builder (recursion_strategy *rs, bool ignore_archived_directive, bool print_dep_graph, int ubiquitous_cutoff)
 
void ParseDependencies (const string &source_tree_root)
 
void GenerateMakefile (const string &makefile)
 
void DumpDependencies (const string &filename)
 

Private Member Functions

bool IsDirectory (const string &path) const
 
bool FileIsHeader (const string &filename) const
 
bool FileIsSource (const string &filename) const
 
bool FileIsObject (const string &filename) const
 
void ParseHeaderFile (const string &full_path, const string &partial_path)
 
void ParseSourceFile (const string &full_path, const string &partial_path)
 
bool CheckLineForInclude (const string &line, string &included_file)
 
bool CheckLineForMain (const string &line)
 
bool CheckLineForDirective (const string &line, string &directive)
 
void RecursiveParseDependencies (const string &source_tree_root, const string &source_tree_subdir)
 
void AddHeaderSourceDependencies ()
 
void GenerateMakefileForObjectFiles (ostream &makefile)
 
void GenerateMakefileForSpecialCompiles (ostream &makefile)
 
void GenerateMakefileForExecutables (ostream &makefile)
 
void GenerateTargetLists (ostream &makefile)
 
void PrintGraphNode (ostream &graphStrm, const string &file)
 
void PrintGraphEdge (ostream &graphStrm, const string &fromFile, const string &toFile, const bool dashed=false)
 

Private Attributes

vector< dependencycompile_time_deps
 
vector< dependencylink_time_deps
 
vector< dependencyrun_time_deps
 
set< string > sources_found
 
set< string > headers_found
 
set< string > objects_found
 
set< string > executables_found
 
bool make_archived
 
bool print_graph
 
int ubiq_cutoff
 
recursion_strategyrecursion_strat
 
map< string, string > special_compiles
 
set< string > nodes
 
set< pair< string, string > > edges
 

Constructor & Destructor Documentation

makefile_builder::makefile_builder ( recursion_strategy rs,
bool  ignore_archived_directive,
bool  print_dep_graph,
int  ubiquitous_cutoff 
)
inline

Member Function Documentation

void makefile_builder::AddHeaderSourceDependencies ( )
private
bool makefile_builder::CheckLineForDirective ( const string &  line,
string &  directive 
)
private
bool makefile_builder::CheckLineForInclude ( const string &  line,
string &  included_file 
)
private
bool makefile_builder::CheckLineForMain ( const string &  line)
private
void makefile_builder::DumpDependencies ( const string &  filename)
bool makefile_builder::FileIsHeader ( const string &  filename) const
private
bool makefile_builder::FileIsObject ( const string &  filename) const
private
bool makefile_builder::FileIsSource ( const string &  filename) const
private
void makefile_builder::GenerateMakefile ( const string &  makefile)
void makefile_builder::GenerateMakefileForExecutables ( ostream &  makefile)
private
void makefile_builder::GenerateMakefileForObjectFiles ( ostream &  makefile)
private
void makefile_builder::GenerateMakefileForSpecialCompiles ( ostream &  makefile)
private

Add to makefile a list of compile commands for .o files whose .cc files had special compilation directives.

void makefile_builder::GenerateTargetLists ( ostream &  makefile)
private
bool makefile_builder::IsDirectory ( const string &  path) const
private
void makefile_builder::ParseDependencies ( const string &  source_tree_root)
void makefile_builder::ParseHeaderFile ( const string &  full_path,
const string &  partial_path 
)
private
void makefile_builder::ParseSourceFile ( const string &  full_path,
const string &  partial_path 
)
private
void makefile_builder::PrintGraphEdge ( ostream &  graphStrm,
const string &  fromFile,
const string &  toFile,
const bool  dashed = false 
)
private
void makefile_builder::PrintGraphNode ( ostream &  graphStrm,
const string &  file 
)
private
void makefile_builder::RecursiveParseDependencies ( const string &  source_tree_root,
const string &  source_tree_subdir 
)
private

Member Data Documentation

vector<dependency> makefile_builder::compile_time_deps
private
set< pair<string,string> > makefile_builder::edges
private
set<string> makefile_builder::executables_found
private
set<string> makefile_builder::headers_found
private
vector<dependency> makefile_builder::link_time_deps
private
bool makefile_builder::make_archived
private
set<string> makefile_builder::nodes
private
set<string> makefile_builder::objects_found
private
bool makefile_builder::print_graph
private
recursion_strategy* makefile_builder::recursion_strat
private
vector<dependency> makefile_builder::run_time_deps
private
set<string> makefile_builder::sources_found
private
map<string, string> makefile_builder::special_compiles
private
int makefile_builder::ubiq_cutoff
private

The documentation for this class was generated from the following file: