diff options
author | Michael Stahl <mstahl@redhat.com> | 2014-01-20 18:01:04 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2014-01-20 19:37:52 +0100 |
commit | 0190a70e79efa437e1516e635f4f670d7a35bb2d (patch) | |
tree | 0ca33c28da0730cd6c14ef6fc8fe3a9dca342cac /solenv | |
parent | f6b9b73a1f87d1815ed8ab8f2494e5526a710bb9 (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')
-rw-r--r-- | solenv/gbuild/UnoApi.mk | 3 | ||||
-rw-r--r-- | solenv/gbuild/UnoApiTarget.mk | 13 |
2 files changed, 16 insertions, 0 deletions
diff --git a/solenv/gbuild/UnoApi.mk b/solenv/gbuild/UnoApi.mk index 5f40ee31bcaf..21ce4d6b14d6 100644 --- a/solenv/gbuild/UnoApi.mk +++ b/solenv/gbuild/UnoApi.mk @@ -68,6 +68,8 @@ endef define gb_UnoApi_add_idlfiles $(call gb_UnoApiTarget_add_idlfiles,$(1),$(2),$(3)) +$(call gb_UnoApiHeadersTarget_add_headerfiles,$(1),$(2),$(addsuffix .hpp,$(3))) +$(call gb_UnoApiHeadersTarget_add_headerfiles,$(1),$(2),$(addsuffix .hdl,$(3))) $(foreach idl,$(3),$(call gb_UnoApi__add_idlfile,$(1),$(gb_UnoApiTarget_REG_$(1))/$(2)/$(idl))) endef @@ -81,6 +83,7 @@ endef define gb_UnoApi_add_idlfiles_nohdl $(call gb_UnoApiTarget_add_idlfiles,$(1),$(2),$(3)) +$(call gb_UnoApiHeadersTarget_add_headerfiles,$(1),$(2),$(addsuffix .hpp,$(3))) $(foreach idl,$(3),$(call gb_UnoApi__add_idlfile,$(1),$(gb_UnoApiTarget_REG_$(1))/$(2)/$(idl))) endef 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)) |