summaryrefslogtreecommitdiff
path: root/solenv/gbuild/SdiTarget.mk
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2011-11-08 18:57:13 +0100
committerMichael Stahl <mstahl@redhat.com>2011-11-08 19:10:01 +0100
commit6e6a3d659630b5330372b68ff1d2e865a89a62ab (patch)
tree603a842c783787f4ba09fe573fa6af96d8eea5aa /solenv/gbuild/SdiTarget.mk
parent6adb9ad1579df1bde71be3091ccca0c71605ddb7 (diff)
SdiTarget: use svidl -fM for full dependencies
Diffstat (limited to 'solenv/gbuild/SdiTarget.mk')
-rw-r--r--solenv/gbuild/SdiTarget.mk14
1 files changed, 13 insertions, 1 deletions
diff --git a/solenv/gbuild/SdiTarget.mk b/solenv/gbuild/SdiTarget.mk
index d1fa175a4589..48ff6987e006 100644
--- a/solenv/gbuild/SdiTarget.mk
+++ b/solenv/gbuild/SdiTarget.mk
@@ -39,7 +39,7 @@ gb_SdiTarget_SVIDLCOMMAND := \
$(call gb_SdiTarget_get_target,%) : $(SRCDIR)/%.sdi | $(gb_SdiTarget_SVIDLTARGET)
$(call gb_Output_announce,$*,$(true),SDI,1)
$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $@))
+ mkdir -p $(dir $@) $(dir $(call gb_SdiTarget_get_dep_target,$*)))
$(call gb_Helper_abbreviate_dirs_native,\
cd $(dir $<) && \
$(gb_SdiTarget_SVIDLCOMMAND) -quiet \
@@ -50,19 +50,31 @@ $(call gb_SdiTarget_get_target,%) : $(SRCDIR)/%.sdi | $(gb_SdiTarget_SVIDLTARGET
-fz$@.sid \
-fx$(EXPORTS) \
-fm$@ \
+ -fM$(call gb_SdiTarget_get_dep_target,$*) \
$(realpath $<))
+ifeq ($(gb_FULLDEPS),$(true))
+$(call gb_SdiTarget_get_dep_target,%) : $(call gb_SdiTarget_get_target,%)
+ $(if $(wildcard $@),touch $@,\
+ $(call gb_Object__command_dep,$@,$(call gb_SdiTarget_get_target,$*)))
+
+endif
+
.PHONY : $(call gb_SdiTarget_get_clean_target,%)
$(call gb_SdiTarget_get_clean_target,%) :
$(call gb_Output_announce,$*,$(false),SDI,1)
-$(call gb_Helper_abbreviate_dirs,\
rm -f $(foreach ext,.hxx .ilb .lst .sid,\
$(call gb_SdiTarget_get_target,$*)$(ext)) \
+ $(call gb_SdiTarget_get_dep_target,$*) \
$(call gb_SdiTarget_get_target,$*))
define gb_SdiTarget_SdiTarget
$(call gb_SdiTarget_get_target,$(1)) : INCLUDE := $$(subst -I. ,-I$$(dir $(SRCDIR)/$(1)) ,$$(SOLARINC))
$(call gb_SdiTarget_get_target,$(1)) : EXPORTS := $(SRCDIR)/$(2).sdi
+ifeq ($(gb_FULLDEPS),$(true))
+-include $(call gb_SdiTarget_get_dep_target,$(1))
+endif
endef
define gb_SdiTarget_set_include