From c34af468acc94691d0a5954eae38a89506bc620e Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 17 Sep 2009 18:56:22 +0200 Subject: Generate .gitignore in compiler, test and example makefiles --- examples/cxx/tree/custom/calendar/makefile | 26 +++++++++++++++++--------- examples/cxx/tree/custom/comments/makefile | 26 +++++++++++++++++--------- examples/cxx/tree/custom/contacts/makefile | 26 +++++++++++++++++--------- examples/cxx/tree/custom/double/makefile | 26 +++++++++++++++++--------- examples/cxx/tree/custom/taxonomy/makefile | 26 +++++++++++++++++--------- examples/cxx/tree/custom/wildcard/makefile | 26 +++++++++++++++++--------- 6 files changed, 102 insertions(+), 54 deletions(-) (limited to 'examples/cxx/tree/custom') diff --git a/examples/cxx/tree/custom/calendar/makefile b/examples/cxx/tree/custom/calendar/makefile index 36525aa..129333f 100644 --- a/examples/cxx/tree/custom/calendar/makefile +++ b/examples/cxx/tree/custom/calendar/makefile @@ -42,22 +42,19 @@ $(out_root)/xsd/xsd cxx-tree --output-dir $(out_base) --generate-xml-schema \ # # -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): xsd := $(out_root)/xsd/xsd +genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) +gen := $(addprefix $(out_base)/,$(genf)) + +$(gen): xsd := $(out_root)/xsd/xsd # We have to double-escape '#' because the message function # (which is used in command scripts) expands things twice. # -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): xsd_options := \ +$(gen): xsd_options := \ --generate-inline \ --extern-xml-schema xml-schema.xsd -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): $(out_root)/xsd/xsd +$(gen): $(out_root)/xsd/xsd $(call include-dep,$(dep)) @@ -77,6 +74,17 @@ $(clean): $(driver).o.clean \ $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) $(call message,rm $$1,rm -f $$1,$(out_base)/xml-schema.hxx) +# Generated .gitignore. +# +ifeq ($(out_base),$(src_base)) +$(gen): | $(out_base)/.gitignore +$(driver): | $(out_base)/.gitignore + +$(out_base)/.gitignore: files := driver xml-schema.hxx $(genf) +$(clean): $(out_base)/.gitignore.clean + +$(call include,$(bld_root)/git/gitignore.make) +endif # How to. # diff --git a/examples/cxx/tree/custom/comments/makefile b/examples/cxx/tree/custom/comments/makefile index a12b3fe..f1074ec 100644 --- a/examples/cxx/tree/custom/comments/makefile +++ b/examples/cxx/tree/custom/comments/makefile @@ -38,20 +38,17 @@ $(out_root)/xsd/xsd cxx-tree --output-dir $(out_base) --generate-xml-schema \ # # -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): xsd := $(out_root)/xsd/xsd +genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) +gen := $(addprefix $(out_base)/,$(genf)) -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): xsd_options := \ +$(gen): xsd := $(out_root)/xsd/xsd + +$(gen): xsd_options := \ --generate-inline \ --generate-serialization \ --extern-xml-schema xml-schema.xsd -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): $(out_root)/xsd/xsd +$(gen): $(out_root)/xsd/xsd $(call include-dep,$(dep)) @@ -71,6 +68,17 @@ $(clean): $(driver).o.clean \ $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) $(call message,rm $$1,rm -f $$1,$(out_base)/xml-schema.hxx) +# Generated .gitignore. +# +ifeq ($(out_base),$(src_base)) +$(gen): | $(out_base)/.gitignore +$(driver): | $(out_base)/.gitignore + +$(out_base)/.gitignore: files := driver xml-schema.hxx $(genf) +$(clean): $(out_base)/.gitignore.clean + +$(call include,$(bld_root)/git/gitignore.make) +endif # How to. # diff --git a/examples/cxx/tree/custom/contacts/makefile b/examples/cxx/tree/custom/contacts/makefile index 9a8dc89..d4ddbe5 100644 --- a/examples/cxx/tree/custom/contacts/makefile +++ b/examples/cxx/tree/custom/contacts/makefile @@ -29,23 +29,20 @@ $(driver): $(obj) $(xerces_c.l) $(obj) $(dep): cpp_options := -I$(src_root)/libxsd $(obj) $(dep): $(xerces_c.l.cpp-options) -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): xsd := $(out_root)/xsd/xsd +genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) +gen := $(addprefix $(out_base)/,$(genf)) + +$(gen): xsd := $(out_root)/xsd/xsd # We have to double-escape '#' because the message function # (which is used in command scripts) expands things twice. # -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): xsd_options := \ +$(gen): xsd_options := \ --generate-inline \ --custom-type contact=/contact_base \ --hxx-epilogue '\\\#include "contacts-custom.hxx"' -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): $(out_root)/xsd/xsd +$(gen): $(out_root)/xsd/xsd $(call include-dep,$(dep)) @@ -64,6 +61,17 @@ $(clean): $(driver).o.clean \ $(addsuffix .cxx.clean,$(dep)) \ $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) +# Generated .gitignore. +# +ifeq ($(out_base),$(src_base)) +$(gen): | $(out_base)/.gitignore +$(driver): | $(out_base)/.gitignore + +$(out_base)/.gitignore: files := driver $(genf) +$(clean): $(out_base)/.gitignore.clean + +$(call include,$(bld_root)/git/gitignore.make) +endif # How to. # diff --git a/examples/cxx/tree/custom/double/makefile b/examples/cxx/tree/custom/double/makefile index 249ed01..e8bec43 100644 --- a/examples/cxx/tree/custom/double/makefile +++ b/examples/cxx/tree/custom/double/makefile @@ -35,18 +35,15 @@ $(out_root)/xsd/xsd cxx-tree --output-dir $(out_base) --generate-xml-schema \ --generate-serialization --custom-type double=double \ --hxx-epilogue '\#include "double-custom.hxx"' xml-schema.xsd) -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): xsd := $(out_root)/xsd/xsd +genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) +gen := $(addprefix $(out_base)/,$(genf)) -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): xsd_options := \ +$(gen): xsd := $(out_root)/xsd/xsd + +$(gen): xsd_options := \ --generate-serialization --extern-xml-schema xml-schema.xsd -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): $(out_root)/xsd/xsd +$(gen): $(out_root)/xsd/xsd $(call include-dep,$(dep)) @@ -66,6 +63,17 @@ $(clean): $(driver).o.clean \ $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) $(call message,rm $$1,rm -f $$1,$(out_base)/xml-schema.hxx) +# Generated .gitignore. +# +ifeq ($(out_base),$(src_base)) +$(gen): | $(out_base)/.gitignore +$(driver): | $(out_base)/.gitignore + +$(out_base)/.gitignore: files := driver xml-schema.hxx $(genf) +$(clean): $(out_base)/.gitignore.clean + +$(call include,$(bld_root)/git/gitignore.make) +endif # How to. # diff --git a/examples/cxx/tree/custom/taxonomy/makefile b/examples/cxx/tree/custom/taxonomy/makefile index a5fa4a3..02ea144 100644 --- a/examples/cxx/tree/custom/taxonomy/makefile +++ b/examples/cxx/tree/custom/taxonomy/makefile @@ -29,16 +29,15 @@ $(driver): $(obj) $(xerces_c.l) $(obj) $(dep): cpp_options := -I$(src_root)/libxsd $(obj) $(dep): $(xerces_c.l.cpp-options) -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): xsd := $(out_root)/xsd/xsd +genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=-fwd.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) +gen := $(addprefix $(out_base)/,$(genf)) + +$(gen): xsd := $(out_root)/xsd/xsd # We have to double-escape '#' because the message function # (which is used in command scripts) expands things twice. # -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): xsd_options := \ +$(gen): xsd_options := \ --generate-inline \ --generate-forward \ --generate-polymorphic \ @@ -48,9 +47,7 @@ $(out_base)/$(xsd:.xsd=.cxx): xsd_options := \ --fwd-prologue '\\\#include "people-custom-fwd.hxx"' \ --hxx-prologue '\\\#include "people-custom.hxx"' -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): $(out_root)/xsd/xsd +$(gen): $(out_root)/xsd/xsd $(call include-dep,$(dep)) @@ -69,6 +66,17 @@ $(clean): $(driver).o.clean \ $(addsuffix .cxx.clean,$(dep)) \ $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) +# Generated .gitignore. +# +ifeq ($(out_base),$(src_base)) +$(gen): | $(out_base)/.gitignore +$(driver): | $(out_base)/.gitignore + +$(out_base)/.gitignore: files := driver $(genf) +$(clean): $(out_base)/.gitignore.clean + +$(call include,$(bld_root)/git/gitignore.make) +endif # How to. # diff --git a/examples/cxx/tree/custom/wildcard/makefile b/examples/cxx/tree/custom/wildcard/makefile index 87f95ea..49c5306 100644 --- a/examples/cxx/tree/custom/wildcard/makefile +++ b/examples/cxx/tree/custom/wildcard/makefile @@ -29,25 +29,22 @@ $(driver): $(obj) $(xerces_c.l) $(obj) $(dep): cpp_options := -I$(src_root)/libxsd $(obj) $(dep): $(xerces_c.l.cpp-options) -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): xsd := $(out_root)/xsd/xsd +genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) +gen := $(addprefix $(out_base)/,$(genf)) + +$(gen): xsd := $(out_root)/xsd/xsd # We have to double-escape '#' because the message function # (which is used in command scripts) expands things twice. # -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): xsd_options := \ +$(gen): xsd_options := \ --generate-inline \ --generate-ostream \ --generate-serialization \ --custom-type data=/data_base \ --hxx-epilogue '\\\#include "wildcard-custom.hxx"' -$(out_base)/$(xsd:.xsd=.hxx) \ -$(out_base)/$(xsd:.xsd=.ixx) \ -$(out_base)/$(xsd:.xsd=.cxx): $(out_root)/xsd/xsd +$(gen): $(out_root)/xsd/xsd $(call include-dep,$(dep)) @@ -66,6 +63,17 @@ $(clean): $(driver).o.clean \ $(addsuffix .cxx.clean,$(dep)) \ $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) +# Generated .gitignore. +# +ifeq ($(out_base),$(src_base)) +$(gen): | $(out_base)/.gitignore +$(driver): | $(out_base)/.gitignore + +$(out_base)/.gitignore: files := driver $(genf) +$(clean): $(out_base)/.gitignore.clean + +$(call include,$(bld_root)/git/gitignore.make) +endif # How to. # -- cgit v1.1