// file : build2/install/rule -*- C++ -*- // copyright : Copyright (c) 2014-2016 Code Synthesis Ltd // license : MIT; see accompanying LICENSE file #ifndef BUILD2_INSTALL_RULE #define BUILD2_INSTALL_RULE #include #include #include #include namespace build2 { namespace install { class alias_rule: public rule { public: virtual match_result match (action, target&, const std::string&) const; virtual recipe apply (action, target&, const match_result&) const; }; class file_rule: public rule { public: virtual match_result match (action, target&, const std::string&) const; // Return NULL if this prerequisite should be ignored and pointer to its // target otherwise. The default implementation ignores prerequsites that // are outside of this target's project. // virtual target* filter (action, target&, prerequisite_member) const; virtual recipe apply (action, target&, const match_result&) const; static target_state perform_install (action, target&); }; } } #endif // BUILD2_INSTALL_RULE