diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-02-14 12:27:11 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-02-14 12:27:11 +0200 |
commit | 8d1735e04faadaa6765c71b12a96188e6d56c9fa (patch) | |
tree | aa5bb1d0a76e1e525bc4dd9cd5177c35d5d532c8 /build2/bin | |
parent | edc9022131b77cec3fe5a662766e36fa9a71d23e (diff) |
Don't ignore objX{} and bmiX{} prerequisites in cc::link_rule
Diffstat (limited to 'build2/bin')
-rw-r--r-- | build2/bin/target.cxx | 38 | ||||
-rw-r--r-- | build2/bin/target.hxx | 38 |
2 files changed, 60 insertions, 16 deletions
diff --git a/build2/bin/target.cxx b/build2/bin/target.cxx index 2bcb8bc..06b3211 100644 --- a/build2/bin/target.cxx +++ b/build2/bin/target.cxx @@ -12,6 +12,32 @@ namespace build2 { namespace bin { + const target_type objx::static_type + { + "objx", + &file::static_type, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + &target_search, + false + }; + + const target_type bmix::static_type + { + "bmix", + &file::static_type, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + &target_search, + false + }; + const target_type libx::static_type { "libx", @@ -62,7 +88,7 @@ namespace build2 const target_type obje::static_type { "obje", - &file::static_type, + &objx::static_type, &m_factory<obje, obj>, nullptr, /* fixed_extension */ &target_extension_var<var_extension, nullptr>, @@ -75,7 +101,7 @@ namespace build2 const target_type bmie::static_type { "bmie", - &file::static_type, + &bmix::static_type, &m_factory<bmie, bmi>, nullptr, /* fixed_extension */ &target_extension_var<var_extension, nullptr>, @@ -101,7 +127,7 @@ namespace build2 const target_type obja::static_type { "obja", - &file::static_type, + &objx::static_type, &m_factory<obja, obj>, nullptr, /* fixed_extension */ &target_extension_var<var_extension, nullptr>, @@ -114,7 +140,7 @@ namespace build2 const target_type bmia::static_type { "bmia", - &file::static_type, + &bmix::static_type, &m_factory<bmia, bmi>, nullptr, /* fixed_extension */ &target_extension_var<var_extension, nullptr>, @@ -140,7 +166,7 @@ namespace build2 const target_type objs::static_type { "objs", - &file::static_type, + &objx::static_type, &m_factory<objs, obj>, nullptr, /* fixed_extension */ &target_extension_var<var_extension, nullptr>, @@ -153,7 +179,7 @@ namespace build2 const target_type bmis::static_type { "bmis", - &file::static_type, + &bmix::static_type, &m_factory<bmis, bmi>, nullptr, /* fixed_extension */ &target_extension_var<var_extension, nullptr>, diff --git a/build2/bin/target.hxx b/build2/bin/target.hxx index 329b4a9..f052f22 100644 --- a/build2/bin/target.hxx +++ b/build2/bin/target.hxx @@ -16,30 +16,39 @@ namespace build2 { // The obj{} target group. // - class obje: public file + class objx: public file // Common base of all objX{} object files. { public: using file::file; public: static const target_type static_type; + }; + + class obje: public objx + { + public: + using objx::objx; + + public: + static const target_type static_type; virtual const target_type& dynamic_type () const {return static_type;} }; - class obja: public file + class obja: public objx { public: - using file::file; + using objx::objx; public: static const target_type static_type; virtual const target_type& dynamic_type () const {return static_type;} }; - class objs: public file + class objs: public objx { public: - using file::file; + using objx::objx; public: static const target_type static_type; @@ -77,30 +86,39 @@ namespace build2 // organization. So, at least for now, we produce the two at the same time // and make obj*{} an ad hoc member of bmi*{}. // - class bmie: public file + class bmix: public file // Common base of all bmiX{} interface files. { public: using file::file; public: static const target_type static_type; + }; + + class bmie: public bmix + { + public: + using bmix::bmix; + + public: + static const target_type static_type; virtual const target_type& dynamic_type () const {return static_type;} }; - class bmia: public file + class bmia: public bmix { public: - using file::file; + using bmix::bmix; public: static const target_type static_type; virtual const target_type& dynamic_type () const {return static_type;} }; - class bmis: public file + class bmis: public bmix { public: - using file::file; + using bmix::bmix; public: static const target_type static_type; |