diff options
Diffstat (limited to 'build2/cc/module.cxx')
-rw-r--r-- | build2/cc/module.cxx | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/build2/cc/module.cxx b/build2/cc/module.cxx index cdc45e5..3755817 100644 --- a/build2/cc/module.cxx +++ b/build2/cc/module.cxx @@ -348,6 +348,8 @@ namespace build2 t.insert (x_src); + // Note: module (x_mod) is in x_hdr. + for (const target_type* const* ht (x_hdr); *ht != nullptr; ++ht) { t.insert (**ht); @@ -376,22 +378,37 @@ namespace build2 r.insert<obje> (perform_clean_id, x_compile, cr); r.insert<obje> (configure_update_id, x_compile, cr); - r.insert<exe> (perform_update_id, x_link, lr); - r.insert<exe> (perform_clean_id, x_link, lr); - r.insert<exe> (configure_update_id, x_link, lr); - r.insert<obja> (perform_update_id, x_compile, cr); r.insert<obja> (perform_clean_id, x_compile, cr); r.insert<obja> (configure_update_id, x_compile, cr); - r.insert<liba> (perform_update_id, x_link, lr); - r.insert<liba> (perform_clean_id, x_link, lr); - r.insert<liba> (configure_update_id, x_link, lr); - r.insert<objs> (perform_update_id, x_compile, cr); r.insert<objs> (perform_clean_id, x_compile, cr); r.insert<objs> (configure_update_id, x_compile, cr); + if (modules) + { + r.insert<bmie> (perform_update_id, x_compile, cr); + r.insert<bmie> (perform_clean_id, x_compile, cr); + r.insert<bmie> (configure_update_id, x_compile, cr); + + r.insert<bmia> (perform_update_id, x_compile, cr); + r.insert<bmia> (perform_clean_id, x_compile, cr); + r.insert<bmia> (configure_update_id, x_compile, cr); + + r.insert<bmis> (perform_update_id, x_compile, cr); + r.insert<bmis> (perform_clean_id, x_compile, cr); + r.insert<bmis> (configure_update_id, x_compile, cr); + } + + r.insert<exe> (perform_update_id, x_link, lr); + r.insert<exe> (perform_clean_id, x_link, lr); + r.insert<exe> (configure_update_id, x_link, lr); + + r.insert<liba> (perform_update_id, x_link, lr); + r.insert<liba> (perform_clean_id, x_link, lr); + r.insert<liba> (configure_update_id, x_link, lr); + r.insert<libs> (perform_update_id, x_link, lr); r.insert<libs> (perform_clean_id, x_link, lr); r.insert<libs> (configure_update_id, x_link, lr); |