From af486c5935a432683052d019da364aef97af745f Mon Sep 17 00:00:00 2001 From: marha Date: Thu, 2 Sep 2010 11:59:00 +0000 Subject: Autodep optimisation --- tools/mhmake/src/mhmakefileparser.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'tools/mhmake/src/mhmakefileparser.h') 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 > }; typedef set< refptr > deps_t; +typedef pair< bool, deps_t > autodeps_entry_t; +typedef map< refptr, 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, set< refptr > > 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 &Target, const refptr&FirstDep); void UpdateAutomaticDependencies(const refptr &Target); void UpdateNoRuleAutomaticDependencies(const refptr &Target); const refptr GetIncludeDirs() const; - void GetAutoDeps(const refptr &FirstDep,set< refptr > &Autodeps); + void GetAutoDeps(const refptr &FirstDep, deps_t &Autodeps); void SaveAutoDepsFile(); void LoadAutoDepsFile(refptr &DepFile); bool SkipHeaderFile(const string &FileName); -- cgit v1.2.3