diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2009-10-01 18:09:05 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2009-10-01 18:09:05 +0200 |
commit | 29b1ccc58e002fbcb0da30cc16ec9e676d7bfb80 (patch) | |
tree | 1925106d461f4921ef8877abb72630f287717a0a | |
parent | 4a2834255dc48166afc537e9e9dce80be457fa14 (diff) |
Optimize build rules for the out_base == src_base case
-rw-r--r-- | build/xsd/parser/xsd-cxx.make | 9 | ||||
-rw-r--r-- | build/xsd/tree/xsd-cxx.make | 9 |
2 files changed, 14 insertions, 4 deletions
diff --git a/build/xsd/parser/xsd-cxx.make b/build/xsd/parser/xsd-cxx.make index b31568a..0c05508 100644 --- a/build/xsd/parser/xsd-cxx.make +++ b/build/xsd/parser/xsd-cxx.make @@ -39,14 +39,19 @@ $(xsd_parser_pattern): xsd_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,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) -ifneq ($(out_base),$(src_base)) +else $(xsd_parser_pattern): $(src_base)/%.xsd | $$(dir $$@). $(call message,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) +$(xsd_parser_pattern): $(out_base)/%.xsd | $$(dir $$@). + $(call message,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) + endif diff --git a/build/xsd/tree/xsd-cxx.make b/build/xsd/tree/xsd-cxx.make index 55136db..16cc8d9 100644 --- a/build/xsd/tree/xsd-cxx.make +++ b/build/xsd/tree/xsd-cxx.make @@ -20,14 +20,19 @@ $(xsd_tree_pattern): xsd_options := .PRECIOUS: $(xsd_tree_pattern) -$(xsd_tree_pattern): $(out_base)/%.xsd | $$(dir $$@). +ifeq ($(out_base),$(src_base)) + +$(xsd_tree_pattern): $(src_base)/%.xsd $(call message,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) -ifneq ($(out_base),$(src_base)) +else $(xsd_tree_pattern): $(src_base)/%.xsd | $$(dir $$@). $(call message,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) +$(xsd_tree_pattern): $(out_base)/%.xsd | $$(dir $$@). + $(call message,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) + endif .PHONY: $(out_base)/%$(xsd_tree_suffix).cxx.xsd.clean |