diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2009-10-01 18:23:58 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2009-10-01 18:23:58 +0200 |
commit | c1f810de13243f1b6b3a9e7c9313ceb936471e53 (patch) | |
tree | bbfdd37bb616da954739de135afeeae7d90b1f2d /build | |
parent | 78a385c0d1e526718b52b547f0bf51e8f71983aa (diff) |
Optimize build rules for the out_base == src_base case
Diffstat (limited to 'build')
-rw-r--r-- | build/xsde/hybrid/xsd-cxx.make | 9 | ||||
-rw-r--r-- | build/xsde/parser/xsd-cxx.make | 9 | ||||
-rw-r--r-- | build/xsde/serializer/xsd-cxx.make | 9 |
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 |