aboutsummaryrefslogtreecommitdiff
path: root/tools/mhmake/src/mhmakefileparser.h
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-09-02 11:59:00 +0000
committermarha <marha@users.sourceforge.net>2010-09-02 11:59:00 +0000
commitaf486c5935a432683052d019da364aef97af745f (patch)
tree5e439039ea5195108f9f5e0d61bcd7a14fb69e46 /tools/mhmake/src/mhmakefileparser.h
parent7a87e02989ca09868aacb825fe954c1f39602485 (diff)
downloadvcxsrv-af486c5935a432683052d019da364aef97af745f.tar.gz
vcxsrv-af486c5935a432683052d019da364aef97af745f.tar.bz2
vcxsrv-af486c5935a432683052d019da364aef97af745f.zip
Autodep optimisation
Diffstat (limited to 'tools/mhmake/src/mhmakefileparser.h')
-rw-r--r--tools/mhmake/src/mhmakefileparser.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/mhmake/src/mhmakefileparser.h b/tools/mhmake/src/mhmakefileparser.h
index 1efb37c39..9c75c8771 100644
--- a/tools/mhmake/src/mhmakefileparser.h
+++ b/tools/mhmake/src/mhmakefileparser.h
@@ -49,6 +49,9 @@ class fileinfoarray : public refbase,public vector<refptr<fileinfo> >
};
typedef set< refptr<fileinfo> > deps_t;
+typedef pair< bool, deps_t > autodeps_entry_t;
+typedef map< refptr<fileinfo>, autodeps_entry_t > autodeps_t;
+
class mhmakefileparser : public refbase
{
@@ -99,7 +102,7 @@ protected:
#endif
int m_EnvLen; // Current length of m_pEnv
- map< refptr<fileinfo>, set< refptr<fileinfo> > > m_AutoDeps;
+ autodeps_t m_AutoDeps;
set< const fileinfo* , less_fileinfo > m_Targets; // List of targets that are build by this makefile
static mh_time_t m_sBuildTime;
@@ -199,10 +202,11 @@ public:
{
m_RuleThatIsBuild=NULL;
}
+ void GetAutoDepsIfNeeded(const refptr<fileinfo> &Target, const refptr<fileinfo>&FirstDep);
void UpdateAutomaticDependencies(const refptr<fileinfo> &Target);
void UpdateNoRuleAutomaticDependencies(const refptr<fileinfo> &Target);
const refptr<fileinfoarray> GetIncludeDirs() const;
- void GetAutoDeps(const refptr<fileinfo> &FirstDep,set< refptr<fileinfo> > &Autodeps);
+ void GetAutoDeps(const refptr<fileinfo> &FirstDep, deps_t &Autodeps);
void SaveAutoDepsFile();
void LoadAutoDepsFile(refptr<fileinfo> &DepFile);
bool SkipHeaderFile(const string &FileName);