diff options
author | Michael Stahl <mstahl@redhat.com> | 2013-09-21 22:28:20 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2013-09-22 11:08:34 +0200 |
commit | dab82360206549d7c4b8bee76ca55a909d390777 (patch) | |
tree | 1ea6c84d3f96cb0f7bf52d372d46f3d311acda4b /solenv/gbuild/Executable.mk | |
parent | 3f0ee22ed76d59451ed014adc48185653e59c6a6 (diff) |
gbuild: add consistent directory dependencies for LinkTargets
- StaticLibrary and CppunitTest have all files in one directory
- Executable may have the executable itself in a different one
- Library may have files in up to 3 directories
... so create 2 directories (which may be the same) in
gb_LinkTarget_LinkTarget and a 3rd one in gb_Library__Library_impl.
This allows to get rid of the "mkdir LinkTarget/pdb/..." thing in
the header target rule, which was always ugly since it did not
get rebuilt when deleting it (or whole LinkTarget dir) from workdir.
Oh and the pattern dependency causes trouble:
$(WORKDIR)/LinkTarget/% : $(call gb_LinkTarget_get_headers_target,%)
... for files in ExtensionLibrary; it would be possible to put
ExtensionLibrary somewhere else of course but actually this pattern
dependency is unnecessary since we get the same thing whenever any
object is added to a link target and there shouldn't be link targets
without objects anyway.
Furthermore directory dependencies must be on the headers_target because
MSVC will write a PDB file when compiling objects.
Change-Id: Icd92e8768d6aafb094a4144f90165aa5ff233647
Diffstat (limited to 'solenv/gbuild/Executable.mk')
-rw-r--r-- | solenv/gbuild/Executable.mk | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/solenv/gbuild/Executable.mk b/solenv/gbuild/Executable.mk index 433ee0eeba1a..ef632dd33cc6 100644 --- a/solenv/gbuild/Executable.mk +++ b/solenv/gbuild/Executable.mk @@ -63,9 +63,6 @@ define gb_Executable__Executable_impl $(call gb_LinkTarget_LinkTarget,$(2),Executable_$(1),$(call gb_Executable_get_layer,$(1))) $(call gb_LinkTarget_set_targettype,$(2),Executable) $(call gb_LinkTarget_add_libs,$(2),$(gb_STDLIBS)) -$(call gb_Executable_get_target,$(1)) : \ - | $(dir $(call gb_Executable_get_target,$(1))).dir \ - $(gb_Executable_BINDIR)/.dir $(call gb_Executable_get_runtime_target,$(1)) :| $(dir $(call gb_Executable_get_runtime_target,$(1))).dir $(call gb_Executable_get_runtime_target,$(1)) : $(call gb_Executable_get_target_for_build,$(1)) $(call gb_Executable_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2)) |