1 #ifndef PROJECT_TREE_BUILDER__PROJ_SRC_RESOLVER__HPP 2 #define PROJECT_TREE_BUILDER__PROJ_SRC_RESOLVER__HPP 3 4 /* $Id: proj_src_resolver.hpp 426678 2014-02-12 16:26:31Z gouriano $ 5 * =========================================================================== 6 * 7 * PUBLIC DOMAIN NOTICE 8 * National Center for Biotechnology Information 9 * 10 * This software/database is a "United States Government Work" under the 11 * terms of the United States Copyright Act. It was written as part of 12 * the author's official duties as a United States Government employee and 13 * thus cannot be copyrighted. This software/database is freely available 14 * to the public for use. The National Library of Medicine and the U.S. 15 * Government have not placed any restriction on its use or reproduction. 16 * 17 * Although all reasonable efforts have been taken to ensure the accuracy 18 * and reliability of the software and data, the NLM and the U.S. 19 * Government do not and cannot warrant the performance or results that 20 * may be obtained by using this software or data. The NLM and the U.S. 21 * Government disclaim all warranties, express or implied, including 22 * warranties of performance, merchantability or fitness for any particular 23 * purpose. 24 * 25 * Please cite the author in any work or product based on this material. 26 * 27 * =========================================================================== 28 * 29 * Author: Viatcheslav Gorelenkov 30 * 31 */ 32 33 34 /// Resolver for SRC keys in Makefiles: 35 36 #include "resolver.hpp" 37 38 39 #include <corelib/ncbienv.hpp> 40 BEGIN_NCBI_SCOPE 41 42 43 /// Collect sources in resolve macrodefines 44 class CProjSRCResolver 45 { 46 public: 47 CProjSRCResolver(const string& applib_mfilepath, 48 const string& source_base_dir, 49 const list<string>& sources_src); 50 51 ~CProjSRCResolver(void); 52 53 void ResolveTo(list<string>* sources_dst); 54 55 private: 56 const string m_MakefilePath; 57 const string m_SourcesBaseDir; 58 const list<string>& m_SourcesSrc; 59 list<string> m_MakefileDirs; 60 61 CSymResolver m_Resolver; 62 void PrepareResolver(void); 63 64 //no value type semantics 65 CProjSRCResolver(void); 66 CProjSRCResolver(const CProjSRCResolver&); 67 CProjSRCResolver& operator=(const CProjSRCResolver&); 68 }; 69 70 71 END_NCBI_SCOPE 72 73 #endif //PROJECT_TREE_BUILDER__PROJ_SRC_RESOLVER__HPP 74