aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2009-10-01 18:23:58 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2009-10-01 18:23:58 +0200
commitc1f810de13243f1b6b3a9e7c9313ceb936471e53 (patch)
treebbfdd37bb616da954739de135afeeae7d90b1f2d
parent78a385c0d1e526718b52b547f0bf51e8f71983aa (diff)
Optimize build rules for the out_base == src_base case
-rw-r--r--build/xsde/hybrid/xsd-cxx.make9
-rw-r--r--build/xsde/parser/xsd-cxx.make9
-rw-r--r--build/xsde/serializer/xsd-cxx.make9
3 files changed, 21 insertions, 6 deletions
diff --git a/build/xsde/hybrid/xsd-cxx.make b/build/xsde/hybrid/xsd-cxx.make
index a4e9eeb..ab9c3e8 100644
--- a/build/xsde/hybrid/xsd-cxx.make
+++ b/build/xsde/hybrid/xsd-cxx.make
@@ -97,14 +97,19 @@ $(xsd_hybrid_pattern): xsde_options := $(ops)
.PRECIOUS: $(xsd_hybrid_pattern)
-$(xsd_hybrid_pattern): $(out_base)/%.xsd | $$(dir $$@).
+ifeq ($(out_base),$(src_base))
+
+$(xsd_hybrid_pattern): $(src_base)/%.xsd
$(call message,xsde $<,$(xsde) $(xsde_command) $(xsde_options) --output-dir $(dir $@) $<)
-ifneq ($(out_base),$(src_base))
+else
$(xsd_hybrid_pattern): $(src_base)/%.xsd | $$(dir $$@).
$(call message,xsde $<,$(xsde) $(xsde_command) $(xsde_options) --output-dir $(dir $@) $<)
+$(xsd_hybrid_pattern): $(out_base)/%.xsd | $$(dir $$@).
+ $(call message,xsde $<,$(xsde) $(xsde_command) $(xsde_options) --output-dir $(dir $@) $<)
+
endif
diff --git a/build/xsde/parser/xsd-cxx.make b/build/xsde/parser/xsd-cxx.make
index 9470dfa..2e571fa 100644
--- a/build/xsde/parser/xsd-cxx.make
+++ b/build/xsde/parser/xsd-cxx.make
@@ -71,14 +71,19 @@ $(xsd_parser_pattern): xsde_options := $(ops)
.PRECIOUS: $(xsd_parser_pattern)
-$(xsd_parser_pattern): $(out_base)/%.xsd | $$(dir $$@).
+ifeq ($(out_base),$(src_base))
+
+$(xsd_parser_pattern): $(src_base)/%.xsd
$(call message,xsde $<,$(xsde) $(xsde_command) $(xsde_options) --output-dir $(dir $@) $<)
-ifneq ($(out_base),$(src_base))
+else
$(xsd_parser_pattern): $(src_base)/%.xsd | $$(dir $$@).
$(call message,xsde $<,$(xsde) $(xsde_command) $(xsde_options) --output-dir $(dir $@) $<)
+$(xsd_parser_pattern): $(out_base)/%.xsd | $$(dir $$@).
+ $(call message,xsde $<,$(xsde) $(xsde_command) $(xsde_options) --output-dir $(dir $@) $<)
+
endif
diff --git a/build/xsde/serializer/xsd-cxx.make b/build/xsde/serializer/xsd-cxx.make
index 990a146..d2496a9 100644
--- a/build/xsde/serializer/xsd-cxx.make
+++ b/build/xsde/serializer/xsd-cxx.make
@@ -71,14 +71,19 @@ $(xsd_serializer_pattern): xsde_options := $(ops)
.PRECIOUS: $(xsd_serializer_pattern)
-$(xsd_serializer_pattern): $(out_base)/%.xsd | $$(dir $$@).
+ifeq ($(out_base),$(src_base))
+
+$(xsd_serializer_pattern): $(src_base)/%.xsd
$(call message,xsde $<,$(xsde) $(xsde_command) $(xsde_options) --output-dir $(dir $@) $<)
-ifneq ($(out_base),$(src_base))
+else
$(xsd_serializer_pattern): $(src_base)/%.xsd | $$(dir $$@).
$(call message,xsde $<,$(xsde) $(xsde_command) $(xsde_options) --output-dir $(dir $@) $<)
+$(xsd_serializer_pattern): $(out_base)/%.xsd | $$(dir $$@).
+ $(call message,xsde $<,$(xsde) $(xsde_command) $(xsde_options) --output-dir $(dir $@) $<)
+
endif