diff options
author | Jörg Frings-Fürst <jff@merkur> | 2014-05-18 16:08:14 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <jff@merkur> | 2014-05-18 16:08:14 +0200 |
commit | a15cf65c44d5c224169c32ef5495b68c758134b7 (patch) | |
tree | 3419f58fc8e1b315ba8171910ee044c5d467c162 /xsd/build/xsd |
Imported Upstream version 3.3.0.2upstream/3.3.0.2
Diffstat (limited to 'xsd/build/xsd')
-rw-r--r-- | xsd/build/xsd/parser/xsd-cxx.make | 77 | ||||
-rw-r--r-- | xsd/build/xsd/tree/xsd-cxx.make | 48 |
2 files changed, 125 insertions, 0 deletions
diff --git a/xsd/build/xsd/parser/xsd-cxx.make b/xsd/build/xsd/parser/xsd-cxx.make new file mode 100644 index 0000000..e96c29f --- /dev/null +++ b/xsd/build/xsd/parser/xsd-cxx.make @@ -0,0 +1,77 @@ +# file : build/xsd/parser/xsd-cxx.make +# author : Boris Kolpackov <boris@codesynthesis.com> +# copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC +# license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#@@ Need to use extensions from cxx config. +# + +# C++/Parser mapping. +# +ifeq ($(xsd_parser_skel_suffix),) +xsd_parser_skel_suffix := -pskel +endif + +xsd_parser_pattern := \ +$(out_base)/%$(xsd_parser_skel_suffix).cxx \ +$(out_base)/%$(xsd_parser_skel_suffix).hxx \ +$(out_base)/%$(xsd_parser_skel_suffix).ixx + +ifneq ($(xsd_parser_impl_suffix),) +xsd_parser_pattern += \ +$(out_base)/%$(xsd_parser_impl_suffix).cxx \ +$(out_base)/%$(xsd_parser_impl_suffix).hxx \ +$(out_base)/%-driver.cxx +endif + + +$(xsd_parser_pattern): xsd := xsd +$(xsd_parser_pattern): xsd_command := cxx-parser + +ops := --skel-file-suffix $(xsd_parser_skel_suffix) + +ifneq ($(xsd_pimpl_suffix),) +ops += --impl-file-suffix $(xsd_parser_impl_suffix) +endif + +$(xsd_parser_pattern): xsd_options := $(ops) + + +.PRECIOUS: $(xsd_parser_pattern) + +ifeq ($(out_base),$(src_base)) + +$(xsd_parser_pattern): $(src_base)/%.xsd + $(call message,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) + +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 + + +.PHONY: $(out_base)/%$(xsd_parser_skel_suffix).cxx.xsd.clean + +$(out_base)/%$(xsd_parser_skel_suffix).cxx.xsd.clean: + $(call message,rm $$1,rm -f $$1,$(@:.cxx.xsd.clean=.cxx)) + $(call message,rm $$1,rm -f $$1,$(@:.cxx.xsd.clean=.hxx)) + $(call message,rm $$1,rm -f $$1,$(@:.cxx.xsd.clean=.ixx)) + +ifneq ($(xsd_parser_impl_suffix),) +.PHONY: $(out_base)/%$(xsd_parser_impl_suffix).cxx.xsd.clean + +$(out_base)/%$(xsd_parser_impl_suffix).cxx.xsd.clean: + $(call message,rm $$1,rm -f $$1,$(@:.cxx.xsd.clean=.cxx)) + $(call message,rm $$1,rm -f $$1,$(@:.cxx.xsd.clean=.hxx)) + $(call message,rm $$1,rm -f $$1,$(out_base)/$*-driver.cxx) +endif + +# Reset the config variables so they won't take effect in other places. +# +xsd_parser_skel_suffix := +xsd_parser_impl_suffix := diff --git a/xsd/build/xsd/tree/xsd-cxx.make b/xsd/build/xsd/tree/xsd-cxx.make new file mode 100644 index 0000000..d63c651 --- /dev/null +++ b/xsd/build/xsd/tree/xsd-cxx.make @@ -0,0 +1,48 @@ +# file : build/xsd/tree/xsd-cxx.make +# author : Boris Kolpackov <boris@codesynthesis.com> +# copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC +# license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#@@ Need to use extensions from cxx config. +# + +# C++/Tree mapping. +# +xsd_tree_pattern := \ +$(out_base)/%$(xsd_tree_suffix).cxx \ +$(out_base)/%$(xsd_tree_suffix).hxx \ +$(out_base)/%$(xsd_tree_suffix).ixx \ +$(out_base)/%$(xsd_tree_suffix)-fwd.hxx + +$(xsd_tree_pattern): xsd := xsd +$(xsd_tree_pattern): xsd_command := cxx-tree +$(xsd_tree_pattern): xsd_options := + +.PRECIOUS: $(xsd_tree_pattern) + +ifeq ($(out_base),$(src_base)) + +$(xsd_tree_pattern): $(src_base)/%.xsd + $(call message,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) + +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 + +$(out_base)/%$(xsd_tree_suffix).cxx.xsd.clean: + $(call message,rm $(@:.cxx.xsd.clean=.cxx),rm -f $(@:.cxx.xsd.clean=.cxx)) + $(call message,rm $(@:.cxx.xsd.clean=.hxx),rm -f $(@:.cxx.xsd.clean=.hxx)) + $(call message,rm $(@:.cxx.xsd.clean=.ixx),rm -f $(@:.cxx.xsd.clean=.ixx)) + $(call message,rm $(@:.cxx.xsd.clean=-fwd.hxx),rm -f $(@:.cxx.xsd.clean=-fwd.hxx)) + +# Reset the config variables so they won't take effect in other places. +# +xsd_tree_suffix := |