| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // Filename: ppMain.h
- // Created by: drose (28Sep00)
- //
- ////////////////////////////////////////////////////////////////////
- #ifndef PPMAIN_H
- #define PPMAIN_H
- #include "ppremake.h"
- #include "ppDirectoryTree.h"
- #include "ppNamedScopes.h"
- #include "filename.h"
- class PPScope;
- class PPCommandFile;
- ///////////////////////////////////////////////////////////////////
- // Class : PPMain
- // Description : Handles the toplevel processing in this program:
- // holds the tree of source files, and all the scopes,
- // etc. Generally get the ball rolling.
- ////////////////////////////////////////////////////////////////////
- class PPMain {
- public:
- PPMain(PPScope *global_scope);
- ~PPMain();
- bool read_source(const string &root);
- bool process_all();
- bool process(string dirname);
- void report_depends(const string &dirname) const;
- void report_reverse_depends(const string &dirname) const;
- static string get_root();
- static void chdir_root();
- private:
- bool r_process_all(PPDirectory *dir);
- bool p_process(PPDirectory *dir);
- bool read_global_file();
- static Filename get_cwd();
- PPScope *_global_scope;
- PPScope *_def_scope;
- PPCommandFile *_defs;
- PPDirectoryTree _tree;
- PPNamedScopes _named_scopes;
- PPScope *_parent_scope;
- static Filename _root;
- string _original_working_dir;
- };
- #endif
|