summaryrefslogtreecommitdiff
path: root/solenv/gbuild/UnoApiTarget.mk
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-01-20 18:01:04 +0100
committerMichael Stahl <mstahl@redhat.com>2014-01-20 19:37:52 +0100
commit0190a70e79efa437e1516e635f4f670d7a35bb2d (patch)
tree0ca33c28da0730cd6c14ef6fc8fe3a9dca342cac /solenv/gbuild/UnoApiTarget.mk
parentf6b9b73a1f87d1815ed8ab8f2494e5526a710bb9 (diff)
gbuild: UnoApi: fix rebuilds after IDL changes
There used to be a dependency between .urd file and .hpp/.hdl files but that was removed; introduce a dependency between .idl files and .hpp/.hdl files to replace it so headers and stuff depending on them get rebuilt. Change-Id: Ibf1fe1db08c36ce42c392d27b794c2bc2a33738c
Diffstat (limited to 'solenv/gbuild/UnoApiTarget.mk')
-rw-r--r--solenv/gbuild/UnoApiTarget.mk13
1 files changed, 13 insertions, 0 deletions
diff --git a/solenv/gbuild/UnoApiTarget.mk b/solenv/gbuild/UnoApiTarget.mk
index 28695b861241..dbce2d4e608f 100644
--- a/solenv/gbuild/UnoApiTarget.mk
+++ b/solenv/gbuild/UnoApiTarget.mk
@@ -202,6 +202,19 @@ $(call gb_UnoApiHeadersTarget_get_real_comprehensive_dir,$(1))/%.hpp :| \
endef
+# ensure that idl change triggers the dummy rule to rebuild the headers
+# call gb_UnoApiHeadersTarget_add_headerfile,unoapi,headerfile
+define gb_UnoApiHeadersTarget_add_headerfile
+$(call gb_UnoApiHeadersTarget_get_dir,$(1))/$(2) : \
+ $(SRCDIR)/$(basename $(gb_UnoApiTarget_REG_$(1))/$(2)).idl
+
+endef
+
+# call gb_UnoApiHeadersTarget_add_headerfiles,unoapi,directory,headerfilenames
+define gb_UnoApiHeadersTarget_add_headerfiles
+$(foreach hdr,$(3),$(call gb_UnoApiHeadersTarget_add_headerfile,$(1),$(2)/$(hdr)))
+endef
+
define gb_UnoApiHeadersTarget__use_api_for_target
$(call gb_UnoApiHeadersTarget_get_$(3),$(1)) : $(call gb_UnoApiTarget_get_target,$(2))
$(call gb_UnoApiHeadersTarget_get_$(3),$(1)) : UNOAPI_DEPS += -X$(call gb_UnoApiTarget_get_target,$(2))