aboutsummaryrefslogtreecommitdiff
path: root/build2/bin/target.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2019-04-11 14:44:32 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2019-04-30 16:56:08 +0200
commita14b9bc18431c6aed8441261d28b6ff20bd25935 (patch)
treeae1f07caef838b5b03fa3f82a2cfccbb62b24ed3 /build2/bin/target.cxx
parentca0f9c71be279aee845bf5328ac0af8c02c8849e (diff)
Initial take on header unit and include translation support
Diffstat (limited to 'build2/bin/target.cxx')
-rw-r--r--build2/bin/target.cxx69
1 files changed, 67 insertions, 2 deletions
diff --git a/build2/bin/target.cxx b/build2/bin/target.cxx
index 8ff2f97..c602f3b 100644
--- a/build2/bin/target.cxx
+++ b/build2/bin/target.cxx
@@ -38,6 +38,19 @@ namespace build2
false
};
+ const target_type hbmix::static_type
+ {
+ "hbmix",
+ &bmix::static_type,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ &target_search,
+ false
+ };
+
const target_type libx::static_type
{
"libx",
@@ -71,7 +84,7 @@ namespace build2
// running serial. For the members it is also safe to set the group during
// creation.
- // obj*{} and bmi*{} member factory.
+ // obj*{} and [h]bmi*{} member factory.
//
template <typename M, typename G>
static target*
@@ -111,6 +124,19 @@ namespace build2
false
};
+ const target_type hbmie::static_type
+ {
+ "hbmie",
+ &hbmix::static_type,
+ &m_factory<hbmie, hbmi>,
+ nullptr, /* fixed_extension */
+ &target_extension_var<var_extension, nullptr>,
+ &target_pattern_var<var_extension, nullptr>,
+ nullptr,
+ &target_search, // Note: not _file(); don't look for an existing file.
+ false
+ };
+
const target_type obja::static_type
{
"obja",
@@ -137,6 +163,19 @@ namespace build2
false
};
+ const target_type hbmia::static_type
+ {
+ "hbmia",
+ &hbmix::static_type,
+ &m_factory<hbmia, hbmi>,
+ nullptr, /* fixed_extension */
+ &target_extension_var<var_extension, nullptr>,
+ &target_pattern_var<var_extension, nullptr>,
+ nullptr,
+ &target_search, // Note: not _file(); don't look for an existing file.
+ false
+ };
+
const target_type objs::static_type
{
"objs",
@@ -163,6 +202,19 @@ namespace build2
false
};
+ const target_type hbmis::static_type
+ {
+ "hbmis",
+ &hbmix::static_type,
+ &m_factory<hbmis, hbmi>,
+ nullptr, /* fixed_extension */
+ &target_extension_var<var_extension, nullptr>,
+ &target_pattern_var<var_extension, nullptr>,
+ nullptr,
+ &target_search, // Note: not _file(); don't look for an existing file.
+ false
+ };
+
// libu*{} member factory.
//
template <typename M>
@@ -224,7 +276,7 @@ namespace build2
false
};
- // obj{}, bmi{}, and libu{} group factory.
+ // obj{}, [h]bmi{}, and libu{} group factory.
//
template <typename G, typename E, typename A, typename S>
static target*
@@ -277,6 +329,19 @@ namespace build2
false
};
+ const target_type hbmi::static_type
+ {
+ "hbmi",
+ &target::static_type,
+ &g_factory<hbmi, hbmie, hbmia, hbmis>,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ &target_search,
+ false
+ };
+
// The same as g_factory() but without E.
//
static target*