From 29b1ccc58e002fbcb0da30cc16ec9e676d7bfb80 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 1 Oct 2009 18:09:05 +0200 Subject: Optimize build rules for the out_base == src_base case --- build/xsd/parser/xsd-cxx.make | 9 +++++++-- 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 -- cgit v1.1