aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2009-02-25 09:54:14 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2009-02-25 09:54:14 +0200
commitbf3cfa08d963b55297ba246a0e7c79533f560903 (patch)
tree9159a9fb7cc1c049900ddfd17fde27419c6751dc
parentf5c6310f5c11b4cb4a752be9c989df8bce173aa8 (diff)
Autogenerate .gitignore files for tests and examples
This functionality requires build 0.3.4 or later.
-rw-r--r--examples/cxx/hybrid/compositors/makefile17
-rw-r--r--examples/cxx/hybrid/filter/makefile30
-rw-r--r--examples/cxx/hybrid/hello/makefile25
-rw-r--r--examples/cxx/hybrid/library/makefile30
-rw-r--r--examples/cxx/hybrid/minimal/makefile30
-rw-r--r--examples/cxx/hybrid/multiroot/makefile24
-rw-r--r--examples/cxx/hybrid/streaming/makefile30
-rw-r--r--examples/cxx/hybrid/wildcard/makefile30
-rw-r--r--examples/cxx/parser/generated/makefile23
-rw-r--r--examples/cxx/parser/hello/makefile18
-rw-r--r--examples/cxx/parser/library/makefile18
-rw-r--r--examples/cxx/parser/minimal/makefile18
-rw-r--r--examples/cxx/parser/mixed/makefile18
-rw-r--r--examples/cxx/parser/multiroot/makefile18
-rw-r--r--examples/cxx/parser/polymorphism/makefile18
-rw-r--r--examples/cxx/parser/polyroot/makefile18
-rw-r--r--examples/cxx/parser/wildcard/makefile18
-rw-r--r--examples/cxx/serializer/hello/makefile18
-rw-r--r--examples/cxx/serializer/library/makefile18
-rw-r--r--examples/cxx/serializer/minimal/makefile18
-rw-r--r--examples/cxx/serializer/polymorphism/makefile18
-rw-r--r--examples/cxx/serializer/polyroot/makefile18
-rw-r--r--examples/cxx/serializer/wildcard/makefile18
-rw-r--r--libxsde/xsde/makefile13
-rw-r--r--tests/cxx/hashmap/makefile16
-rw-r--r--tests/cxx/hybrid/built-in/makefile30
-rw-r--r--tests/cxx/hybrid/choice/makefile30
-rw-r--r--tests/cxx/hybrid/list/makefile30
-rw-r--r--tests/cxx/hybrid/sequences/makefile16
-rw-r--r--tests/cxx/hybrid/test-template/makefile30
-rw-r--r--tests/cxx/hybrid/union/makefile30
-rw-r--r--tests/cxx/parser/built-in/makefile19
-rw-r--r--tests/cxx/parser/duplicate/makefile23
-rw-r--r--tests/cxx/parser/enumeration/makefile18
-rw-r--r--tests/cxx/parser/error-handling/codes/makefile18
-rw-r--r--tests/cxx/parser/error-handling/exceptions/makefile18
-rw-r--r--tests/cxx/parser/generated-impl/makefile23
-rw-r--r--tests/cxx/parser/list/makefile18
-rw-r--r--tests/cxx/parser/name-clash/inheritance/makefile18
-rw-r--r--tests/cxx/parser/polymorphism/makefile18
-rw-r--r--tests/cxx/parser/recursive/makefile18
-rw-r--r--tests/cxx/parser/reset/makefile18
-rw-r--r--tests/cxx/parser/test-template/makefile18
-rw-r--r--tests/cxx/parser/union/makefile18
-rw-r--r--tests/cxx/parser/validation/all/makefile18
-rw-r--r--tests/cxx/parser/validation/any/makefile18
-rw-r--r--tests/cxx/parser/validation/attribute/makefile18
-rw-r--r--tests/cxx/parser/validation/built-in/any-type/makefile18
-rw-r--r--tests/cxx/parser/validation/built-in/binary/makefile12
-rw-r--r--tests/cxx/parser/validation/built-in/boolean/makefile12
-rw-r--r--tests/cxx/parser/validation/built-in/byte/makefile12
-rw-r--r--tests/cxx/parser/validation/built-in/date-time/makefile12
-rw-r--r--tests/cxx/parser/validation/built-in/float/makefile12
-rw-r--r--tests/cxx/parser/validation/built-in/int/makefile12
-rw-r--r--tests/cxx/parser/validation/built-in/integer/makefile12
-rw-r--r--tests/cxx/parser/validation/built-in/long-long/makefile12
-rw-r--r--tests/cxx/parser/validation/built-in/long/makefile12
-rw-r--r--tests/cxx/parser/validation/built-in/qname/makefile12
-rw-r--r--tests/cxx/parser/validation/built-in/short/makefile12
-rw-r--r--tests/cxx/parser/validation/built-in/string/makefile12
-rw-r--r--tests/cxx/parser/validation/built-in/uri/makefile12
-rw-r--r--tests/cxx/parser/validation/choice/makefile18
-rw-r--r--tests/cxx/parser/validation/restriction/makefile18
-rw-r--r--tests/cxx/parser/validation/sequence/makefile18
-rw-r--r--tests/cxx/serializer/all/makefile18
-rw-r--r--tests/cxx/serializer/built-in/makefile18
-rw-r--r--tests/cxx/serializer/choice/makefile18
-rw-r--r--tests/cxx/serializer/complex/makefile18
-rw-r--r--tests/cxx/serializer/enumeration/makefile18
-rw-r--r--tests/cxx/serializer/error-handling/codes/makefile18
-rw-r--r--tests/cxx/serializer/error-handling/exceptions/makefile18
-rw-r--r--tests/cxx/serializer/generated-driver/makefile21
-rw-r--r--tests/cxx/serializer/generated-impl/makefile23
-rw-r--r--tests/cxx/serializer/list/makefile18
-rw-r--r--tests/cxx/serializer/polymorphism/makefile18
-rw-r--r--tests/cxx/serializer/recursive/makefile18
-rw-r--r--tests/cxx/serializer/reset/makefile18
-rw-r--r--tests/cxx/serializer/restriction/makefile18
-rw-r--r--tests/cxx/serializer/sequence/makefile18
-rw-r--r--tests/cxx/serializer/test-template/makefile18
-rw-r--r--tests/cxx/serializer/union/makefile18
-rw-r--r--tests/cxx/serializer/validation/any/makefile18
-rw-r--r--tests/cxx/serializer/validation/attribute/makefile18
-rw-r--r--tests/cxx/serializer/validation/built-in/date-time/makefile12
-rw-r--r--tests/cxx/serializer/validation/built-in/decimal/makefile12
-rw-r--r--tests/cxx/serializer/validation/built-in/integer/makefile12
-rw-r--r--tests/cxx/serializer/validation/built-in/qname/makefile12
-rw-r--r--tests/cxx/serializer/validation/built-in/string/makefile13
-rw-r--r--tests/cxx/serializer/validation/choice/makefile18
-rw-r--r--tests/cxx/serializer/validation/element/makefile18
-rw-r--r--tests/cxx/serializer/validation/sequence/makefile18
-rw-r--r--tests/cxx/serializer/wildcard/makefile18
-rw-r--r--tests/cxx/string/makefile16
-rw-r--r--xsde/makefile12
94 files changed, 1415 insertions, 309 deletions
diff --git a/examples/cxx/hybrid/compositors/makefile b/examples/cxx/hybrid/compositors/makefile
index 2bab6e1..e436db2 100644
--- a/examples/cxx/hybrid/compositors/makefile
+++ b/examples/cxx/hybrid/compositors/makefile
@@ -23,8 +23,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=.hxx) \
- $(out_base)/$(xsd:.xsd=.cxx)
+genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx)
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): $(out_root)/xsde/xsde
$(gen): xsde := $(out_root)/xsde/xsde
@@ -48,6 +48,19 @@ $(clean): $(driver).o.clean \
$(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.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/hybrid/filter/makefile b/examples/cxx/hybrid/filter/makefile
index 4273a59..92adbb1 100644
--- a/examples/cxx/hybrid/filter/makefile
+++ b/examples/cxx/hybrid/filter/makefile
@@ -30,16 +30,13 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=.hxx) \
- $(out_base)/$(xsd:.xsd=.cxx) \
- $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx) \
- $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx) \
- $(out_base)/$(xsd:.xsd=-simpl.hxx) \
- $(out_base)/$(xsd:.xsd=-simpl.cxx)
+genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.cxx) \
+ $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx) \
+ $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.cxx) \
+ $(xsd:.xsd=-simpl.hxx) $(xsd:.xsd=-simpl.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): $(out_root)/xsde/xsde
$(gen): xsde := $(out_root)/xsde/xsde
@@ -66,6 +63,19 @@ $(clean): $(driver).o.clean \
$(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.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/hybrid/hello/makefile b/examples/cxx/hybrid/hello/makefile
index b347837..28db77c 100644
--- a/examples/cxx/hybrid/hello/makefile
+++ b/examples/cxx/hybrid/hello/makefile
@@ -28,12 +28,11 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=.hxx) \
- $(out_base)/$(xsd:.xsd=.cxx) \
- $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx)
+genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.cxx) \
+ $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): $(out_root)/xsde/xsde
$(gen): xsde := $(out_root)/xsde/xsde
@@ -46,7 +45,6 @@ $(call include-dep,$(dep))
.PHONY: $(out_base)/
$(out_base)/: $(driver)
-
# Clean.
#
.PHONY: $(clean)
@@ -57,6 +55,19 @@ $(clean): $(driver).o.clean \
$(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.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/hybrid/library/makefile b/examples/cxx/hybrid/library/makefile
index 91f6997..24f8bf1 100644
--- a/examples/cxx/hybrid/library/makefile
+++ b/examples/cxx/hybrid/library/makefile
@@ -30,16 +30,13 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=.hxx) \
- $(out_base)/$(xsd:.xsd=.cxx) \
- $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx) \
- $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx) \
- $(out_base)/$(xsd:.xsd=-simpl.hxx) \
- $(out_base)/$(xsd:.xsd=-simpl.cxx)
+genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.cxx) \
+ $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx) \
+ $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.cxx) \
+ $(xsd:.xsd=-simpl.hxx) $(xsd:.xsd=-simpl.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): $(out_root)/xsde/xsde
$(gen): xsde := $(out_root)/xsde/xsde
@@ -64,6 +61,19 @@ $(clean): $(driver).o.clean \
$(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.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/hybrid/minimal/makefile b/examples/cxx/hybrid/minimal/makefile
index 3401af6..e61b29a 100644
--- a/examples/cxx/hybrid/minimal/makefile
+++ b/examples/cxx/hybrid/minimal/makefile
@@ -30,16 +30,13 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=.hxx) \
- $(out_base)/$(xsd:.xsd=.cxx) \
- $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx) \
- $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx) \
- $(out_base)/$(xsd:.xsd=-simpl.hxx) \
- $(out_base)/$(xsd:.xsd=-simpl.cxx)
+genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.cxx) \
+ $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx) \
+ $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.cxx) \
+ $(xsd:.xsd=-simpl.hxx) $(xsd:.xsd=-simpl.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): $(out_root)/xsde/xsde
$(gen): xsde := $(out_root)/xsde/xsde
@@ -64,6 +61,19 @@ $(clean): $(driver).o.clean \
$(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.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/hybrid/multiroot/makefile b/examples/cxx/hybrid/multiroot/makefile
index 1426d38..d4b8cac 100644
--- a/examples/cxx/hybrid/multiroot/makefile
+++ b/examples/cxx/hybrid/multiroot/makefile
@@ -28,12 +28,11 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=.hxx) \
- $(out_base)/$(xsd:.xsd=.cxx) \
- $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx)
+genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.cxx) \
+ $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): $(out_root)/xsde/xsde
$(gen): xsde := $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(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.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/hybrid/streaming/makefile b/examples/cxx/hybrid/streaming/makefile
index 9fbedb3..86818b9 100644
--- a/examples/cxx/hybrid/streaming/makefile
+++ b/examples/cxx/hybrid/streaming/makefile
@@ -30,16 +30,13 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=.hxx) \
- $(out_base)/$(xsd:.xsd=.cxx) \
- $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx) \
- $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx) \
- $(out_base)/$(xsd:.xsd=-simpl.hxx) \
- $(out_base)/$(xsd:.xsd=-simpl.cxx)
+genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.cxx) \
+ $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx) \
+ $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.cxx) \
+ $(xsd:.xsd=-simpl.hxx) $(xsd:.xsd=-simpl.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): $(out_root)/xsde/xsde
$(gen): xsde := $(out_root)/xsde/xsde
@@ -65,6 +62,19 @@ $(clean): $(driver).o.clean \
$(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.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/hybrid/wildcard/makefile b/examples/cxx/hybrid/wildcard/makefile
index 94d2fae..5628406 100644
--- a/examples/cxx/hybrid/wildcard/makefile
+++ b/examples/cxx/hybrid/wildcard/makefile
@@ -30,16 +30,13 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=.hxx) \
- $(out_base)/$(xsd:.xsd=.cxx) \
- $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx) \
- $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx) \
- $(out_base)/$(xsd:.xsd=-simpl.hxx) \
- $(out_base)/$(xsd:.xsd=-simpl.cxx)
+genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.cxx) \
+ $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx) \
+ $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.cxx) \
+ $(xsd:.xsd=-simpl.hxx) $(xsd:.xsd=-simpl.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): $(out_root)/xsde/xsde
$(gen): xsde := $(out_root)/xsde/xsde
@@ -66,6 +63,19 @@ $(clean): $(driver).o.clean \
$(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.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/parser/generated/makefile b/examples/cxx/parser/generated/makefile
index 8bd0b05..a7fd40a 100644
--- a/examples/cxx/parser/generated/makefile
+++ b/examples/cxx/parser/generated/makefile
@@ -24,12 +24,10 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx) \
- $(out_base)/$(xsd:.xsd=-pdriver.cxx)
+genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx) $(xsd:.xsd=-pdriver.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): xsde := $(out_root)/xsde/xsde
$(gen): xsde_options += --generate-print-impl --generate-test-driver \
@@ -55,6 +53,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pimpl.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(gen): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := $(xsd:.xsd=-pdriver) $(genf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/parser/hello/makefile b/examples/cxx/parser/hello/makefile
index 9067e04..7f39cd3 100644
--- a/examples/cxx/parser/hello/makefile
+++ b/examples/cxx/parser/hello/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -50,6 +49,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/parser/library/makefile b/examples/cxx/parser/library/makefile
index 3df256c..6cf3f2b 100644
--- a/examples/cxx/parser/library/makefile
+++ b/examples/cxx/parser/library/makefile
@@ -31,9 +31,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --generate-inline --type-map $(src_base)/library.map
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/parser/minimal/makefile b/examples/cxx/parser/minimal/makefile
index 1f0466c..7a1eb8f 100644
--- a/examples/cxx/parser/minimal/makefile
+++ b/examples/cxx/parser/minimal/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --type-map $(src_base)/people.map
@@ -52,6 +51,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/parser/mixed/makefile b/examples/cxx/parser/mixed/makefile
index f41fae3..5fa42f1 100644
--- a/examples/cxx/parser/mixed/makefile
+++ b/examples/cxx/parser/mixed/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --type-map $(src_base)/text.map
@@ -52,6 +51,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/parser/multiroot/makefile b/examples/cxx/parser/multiroot/makefile
index 44e8980..92c53b6 100644
--- a/examples/cxx/parser/multiroot/makefile
+++ b/examples/cxx/parser/multiroot/makefile
@@ -31,9 +31,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --type-map $(src_base)/protocol.map
@@ -57,6 +56,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/parser/polymorphism/makefile b/examples/cxx/parser/polymorphism/makefile
index c096e5a..a8f5167 100644
--- a/examples/cxx/parser/polymorphism/makefile
+++ b/examples/cxx/parser/polymorphism/makefile
@@ -31,9 +31,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --generate-polymorphic
@@ -57,6 +56,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/parser/polyroot/makefile b/examples/cxx/parser/polyroot/makefile
index 0f4d6eb..2a72c3a 100644
--- a/examples/cxx/parser/polyroot/makefile
+++ b/examples/cxx/parser/polyroot/makefile
@@ -31,9 +31,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --generate-polymorphic
@@ -57,6 +56,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/parser/wildcard/makefile b/examples/cxx/parser/wildcard/makefile
index 8613847..c07b11b 100644
--- a/examples/cxx/parser/wildcard/makefile
+++ b/examples/cxx/parser/wildcard/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -50,6 +49,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/serializer/hello/makefile b/examples/cxx/serializer/hello/makefile
index c2721bb..77e9ad8 100644
--- a/examples/cxx/serializer/hello/makefile
+++ b/examples/cxx/serializer/hello/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -50,6 +49,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/serializer/library/makefile b/examples/cxx/serializer/library/makefile
index ba58e96..e44c671 100644
--- a/examples/cxx/serializer/library/makefile
+++ b/examples/cxx/serializer/library/makefile
@@ -31,9 +31,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --generate-inline --type-map $(src_base)/library.map
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/serializer/minimal/makefile b/examples/cxx/serializer/minimal/makefile
index 3337728..4bd42a1 100644
--- a/examples/cxx/serializer/minimal/makefile
+++ b/examples/cxx/serializer/minimal/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --type-map $(src_base)/people.map
@@ -52,6 +51,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/serializer/polymorphism/makefile b/examples/cxx/serializer/polymorphism/makefile
index 1841794..24845cb 100644
--- a/examples/cxx/serializer/polymorphism/makefile
+++ b/examples/cxx/serializer/polymorphism/makefile
@@ -31,9 +31,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --generate-polymorphic \
@@ -59,6 +58,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/serializer/polyroot/makefile b/examples/cxx/serializer/polyroot/makefile
index 9427b4a..afa52b5 100644
--- a/examples/cxx/serializer/polyroot/makefile
+++ b/examples/cxx/serializer/polyroot/makefile
@@ -31,9 +31,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --generate-polymorphic \
@@ -59,6 +58,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/examples/cxx/serializer/wildcard/makefile b/examples/cxx/serializer/wildcard/makefile
index a6f881b..e2b43a6 100644
--- a/examples/cxx/serializer/wildcard/makefile
+++ b/examples/cxx/serializer/wildcard/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --type-map $(src_base)/email.map
@@ -52,6 +51,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/libxsde/xsde/makefile b/libxsde/xsde/makefile
index e095030..f0deaad 100644
--- a/libxsde/xsde/makefile
+++ b/libxsde/xsde/makefile
@@ -551,6 +551,19 @@ $(clean): $(xsde.l).o.clean \
$(addsuffix .cxx.clean,$(cxx_d))
$(call message,rm $$1,rm -f $$1,$(out_base)/config.h)
+
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(out_base)/config.h: | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := config.h
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-l.make)
diff --git a/tests/cxx/hashmap/makefile b/tests/cxx/hashmap/makefile
index e9b3aca..719a5f8 100644
--- a/tests/cxx/hashmap/makefile
+++ b/tests/cxx/hashmap/makefile
@@ -44,11 +44,23 @@ $(test): $(driver) $(src_base)/output
#
.PHONY: $(clean)
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
+$(clean): $(driver).o.clean \
+ $(addsuffix .cxx.clean,$(obj)) \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/hybrid/built-in/makefile b/tests/cxx/hybrid/built-in/makefile
index c62315c..afed37e 100644
--- a/tests/cxx/hybrid/built-in/makefile
+++ b/tests/cxx/hybrid/built-in/makefile
@@ -32,16 +32,13 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=.hxx) \
- $(out_base)/$(xsd:.xsd=.cxx) \
- $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx) \
- $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx) \
- $(out_base)/$(xsd:.xsd=-simpl.hxx) \
- $(out_base)/$(xsd:.xsd=-simpl.cxx)
+genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.cxx) \
+ $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx) \
+ $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.cxx) \
+ $(xsd:.xsd=-simpl.hxx) $(xsd:.xsd=-simpl.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): $(out_root)/xsde/xsde
$(gen): xsde := $(out_root)/xsde/xsde
@@ -74,6 +71,19 @@ $(clean): $(driver).o.clean \
$(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.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/hybrid/choice/makefile b/tests/cxx/hybrid/choice/makefile
index cd256ff..4602325 100644
--- a/tests/cxx/hybrid/choice/makefile
+++ b/tests/cxx/hybrid/choice/makefile
@@ -32,16 +32,13 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=.hxx) \
- $(out_base)/$(xsd:.xsd=.cxx) \
- $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx) \
- $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx) \
- $(out_base)/$(xsd:.xsd=-simpl.hxx) \
- $(out_base)/$(xsd:.xsd=-simpl.cxx)
+genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.cxx) \
+ $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx) \
+ $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.cxx) \
+ $(xsd:.xsd=-simpl.hxx) $(xsd:.xsd=-simpl.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): $(out_root)/xsde/xsde
$(gen): xsde := $(out_root)/xsde/xsde
@@ -74,6 +71,19 @@ $(clean): $(driver).o.clean \
$(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.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/hybrid/list/makefile b/tests/cxx/hybrid/list/makefile
index 5d70a97..762a481 100644
--- a/tests/cxx/hybrid/list/makefile
+++ b/tests/cxx/hybrid/list/makefile
@@ -32,16 +32,13 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=.hxx) \
- $(out_base)/$(xsd:.xsd=.cxx) \
- $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx) \
- $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx) \
- $(out_base)/$(xsd:.xsd=-simpl.hxx) \
- $(out_base)/$(xsd:.xsd=-simpl.cxx)
+genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.cxx) \
+ $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx) \
+ $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.cxx) \
+ $(xsd:.xsd=-simpl.hxx) $(xsd:.xsd=-simpl.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): $(out_root)/xsde/xsde
$(gen): xsde := $(out_root)/xsde/xsde
@@ -74,6 +71,19 @@ $(clean): $(driver).o.clean \
$(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.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/hybrid/sequences/makefile b/tests/cxx/hybrid/sequences/makefile
index 41f5941..8fcf245 100644
--- a/tests/cxx/hybrid/sequences/makefile
+++ b/tests/cxx/hybrid/sequences/makefile
@@ -44,11 +44,23 @@ $(test): $(driver)
#
.PHONY: $(clean)
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
+$(clean): $(driver).o.clean \
+ $(addsuffix .cxx.clean,$(obj)) \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/hybrid/test-template/makefile b/tests/cxx/hybrid/test-template/makefile
index 2a73ad9..a6c6877 100644
--- a/tests/cxx/hybrid/test-template/makefile
+++ b/tests/cxx/hybrid/test-template/makefile
@@ -32,16 +32,13 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=.hxx) \
- $(out_base)/$(xsd:.xsd=.cxx) \
- $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx) \
- $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx) \
- $(out_base)/$(xsd:.xsd=-simpl.hxx) \
- $(out_base)/$(xsd:.xsd=-simpl.cxx)
+genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.cxx) \
+ $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx) \
+ $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.cxx) \
+ $(xsd:.xsd=-simpl.hxx) $(xsd:.xsd=-simpl.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): $(out_root)/xsde/xsde
$(gen): xsde := $(out_root)/xsde/xsde
@@ -74,6 +71,19 @@ $(clean): $(driver).o.clean \
$(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.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/hybrid/union/makefile b/tests/cxx/hybrid/union/makefile
index 5c1289c..c4b0af8 100644
--- a/tests/cxx/hybrid/union/makefile
+++ b/tests/cxx/hybrid/union/makefile
@@ -32,16 +32,13 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=.hxx) \
- $(out_base)/$(xsd:.xsd=.cxx) \
- $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx) \
- $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx) \
- $(out_base)/$(xsd:.xsd=-simpl.hxx) \
- $(out_base)/$(xsd:.xsd=-simpl.cxx)
+genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.cxx) \
+ $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx) \
+ $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.cxx) \
+ $(xsd:.xsd=-simpl.hxx) $(xsd:.xsd=-simpl.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): $(out_root)/xsde/xsde
$(gen): xsde := $(out_root)/xsde/xsde
@@ -74,6 +71,19 @@ $(clean): $(driver).o.clean \
$(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.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/built-in/makefile b/tests/cxx/parser/built-in/makefile
index 9975660..c904c4c 100644
--- a/tests/cxx/parser/built-in/makefile
+++ b/tests/cxx/parser/built-in/makefile
@@ -25,12 +25,10 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
-
$(skel): $(out_root)/xsde/xsde
$(call include-dep,$(dep))
@@ -65,6 +63,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/duplicate/makefile b/tests/cxx/parser/duplicate/makefile
index 20b4a11..345f29a 100644
--- a/tests/cxx/parser/duplicate/makefile
+++ b/tests/cxx/parser/duplicate/makefile
@@ -24,12 +24,10 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx) \
- $(out_base)/$(xsd:.xsd=-pdriver.cxx)
+genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx) $(xsd:.xsd=-pdriver.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): xsde := $(out_root)/xsde/xsde
$(gen): xsde_options += --generate-print-impl --generate-test-driver \
@@ -63,6 +61,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pimpl.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(gen): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := $(xsd:.xsd=-pdriver) $(genf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/enumeration/makefile b/tests/cxx/parser/enumeration/makefile
index ef898da..ff55f92 100644
--- a/tests/cxx/parser/enumeration/makefile
+++ b/tests/cxx/parser/enumeration/makefile
@@ -26,9 +26,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --type-map $(src_base)/test.map
@@ -62,6 +61,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/error-handling/codes/makefile b/tests/cxx/parser/error-handling/codes/makefile
index ca9ba5c..56f6ffc 100644
--- a/tests/cxx/parser/error-handling/codes/makefile
+++ b/tests/cxx/parser/error-handling/codes/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --no-exceptions --type-map $(src_base)/test.map
@@ -60,6 +59,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/error-handling/exceptions/makefile b/tests/cxx/parser/error-handling/exceptions/makefile
index 8acb98a..f587f62 100644
--- a/tests/cxx/parser/error-handling/exceptions/makefile
+++ b/tests/cxx/parser/error-handling/exceptions/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --type-map $(src_base)/test.map
@@ -61,6 +60,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/generated-impl/makefile b/tests/cxx/parser/generated-impl/makefile
index 94cb8fc..82cb585 100644
--- a/tests/cxx/parser/generated-impl/makefile
+++ b/tests/cxx/parser/generated-impl/makefile
@@ -24,12 +24,10 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.hxx) \
- $(out_base)/$(xsd:.xsd=-pimpl.cxx) \
- $(out_base)/$(xsd:.xsd=-pdriver.cxx)
+genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) \
+ $(xsd:.xsd=-pimpl.hxx) $(xsd:.xsd=-pimpl.cxx) $(xsd:.xsd=-pdriver.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): xsde := $(out_root)/xsde/xsde
$(gen): xsde_options += --generate-print-impl --generate-test-driver \
@@ -63,6 +61,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pimpl.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(gen): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := $(xsd:.xsd=-pdriver) $(genf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/list/makefile b/tests/cxx/parser/list/makefile
index d98b11f..9b3699f 100644
--- a/tests/cxx/parser/list/makefile
+++ b/tests/cxx/parser/list/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/name-clash/inheritance/makefile b/tests/cxx/parser/name-clash/inheritance/makefile
index 0c12f20..7496751 100644
--- a/tests/cxx/parser/name-clash/inheritance/makefile
+++ b/tests/cxx/parser/name-clash/inheritance/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/polymorphism/makefile b/tests/cxx/parser/polymorphism/makefile
index 628ef02..9fcf5c2 100644
--- a/tests/cxx/parser/polymorphism/makefile
+++ b/tests/cxx/parser/polymorphism/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --generate-polymorphic
@@ -59,6 +58,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/recursive/makefile b/tests/cxx/parser/recursive/makefile
index 19ddfbd..05b7005 100644
--- a/tests/cxx/parser/recursive/makefile
+++ b/tests/cxx/parser/recursive/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -59,6 +58,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/reset/makefile b/tests/cxx/parser/reset/makefile
index 31dd3b4..fbb3e5d 100644
--- a/tests/cxx/parser/reset/makefile
+++ b/tests/cxx/parser/reset/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -61,6 +60,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/test-template/makefile b/tests/cxx/parser/test-template/makefile
index c618407..5b83da2 100644
--- a/tests/cxx/parser/test-template/makefile
+++ b/tests/cxx/parser/test-template/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/union/makefile b/tests/cxx/parser/union/makefile
index 46993f8..4056b0d 100644
--- a/tests/cxx/parser/union/makefile
+++ b/tests/cxx/parser/union/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/all/makefile b/tests/cxx/parser/validation/all/makefile
index 75990e2..e04c423 100644
--- a/tests/cxx/parser/validation/all/makefile
+++ b/tests/cxx/parser/validation/all/makefile
@@ -27,9 +27,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -68,6 +67,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/any/makefile b/tests/cxx/parser/validation/any/makefile
index dfc1c21..bea02ae 100644
--- a/tests/cxx/parser/validation/any/makefile
+++ b/tests/cxx/parser/validation/any/makefile
@@ -27,9 +27,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -68,6 +67,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/attribute/makefile b/tests/cxx/parser/validation/attribute/makefile
index d037791..64e3f21 100644
--- a/tests/cxx/parser/validation/attribute/makefile
+++ b/tests/cxx/parser/validation/attribute/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/any-type/makefile b/tests/cxx/parser/validation/built-in/any-type/makefile
index 951454e..c29f89f 100644
--- a/tests/cxx/parser/validation/built-in/any-type/makefile
+++ b/tests/cxx/parser/validation/built-in/any-type/makefile
@@ -27,9 +27,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -68,6 +67,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/binary/makefile b/tests/cxx/parser/validation/built-in/binary/makefile
index 5a07676..7dea5d9 100644
--- a/tests/cxx/parser/validation/built-in/binary/makefile
+++ b/tests/cxx/parser/validation/built-in/binary/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/boolean/makefile b/tests/cxx/parser/validation/built-in/boolean/makefile
index b844e00..78c2511 100644
--- a/tests/cxx/parser/validation/built-in/boolean/makefile
+++ b/tests/cxx/parser/validation/built-in/boolean/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/byte/makefile b/tests/cxx/parser/validation/built-in/byte/makefile
index 855095f..88d895b 100644
--- a/tests/cxx/parser/validation/built-in/byte/makefile
+++ b/tests/cxx/parser/validation/built-in/byte/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/date-time/makefile b/tests/cxx/parser/validation/built-in/date-time/makefile
index 7e0b597..5303cb5 100644
--- a/tests/cxx/parser/validation/built-in/date-time/makefile
+++ b/tests/cxx/parser/validation/built-in/date-time/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/float/makefile b/tests/cxx/parser/validation/built-in/float/makefile
index 0e5231e..c78b201 100644
--- a/tests/cxx/parser/validation/built-in/float/makefile
+++ b/tests/cxx/parser/validation/built-in/float/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/int/makefile b/tests/cxx/parser/validation/built-in/int/makefile
index 0fc4608..f1d16e4 100644
--- a/tests/cxx/parser/validation/built-in/int/makefile
+++ b/tests/cxx/parser/validation/built-in/int/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/integer/makefile b/tests/cxx/parser/validation/built-in/integer/makefile
index 8e5fa68..381dc09 100644
--- a/tests/cxx/parser/validation/built-in/integer/makefile
+++ b/tests/cxx/parser/validation/built-in/integer/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/long-long/makefile b/tests/cxx/parser/validation/built-in/long-long/makefile
index 948c89a..2d12b2c 100644
--- a/tests/cxx/parser/validation/built-in/long-long/makefile
+++ b/tests/cxx/parser/validation/built-in/long-long/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/long/makefile b/tests/cxx/parser/validation/built-in/long/makefile
index e050feb..4c13fa6 100644
--- a/tests/cxx/parser/validation/built-in/long/makefile
+++ b/tests/cxx/parser/validation/built-in/long/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/qname/makefile b/tests/cxx/parser/validation/built-in/qname/makefile
index eed5151..318a4fb 100644
--- a/tests/cxx/parser/validation/built-in/qname/makefile
+++ b/tests/cxx/parser/validation/built-in/qname/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/short/makefile b/tests/cxx/parser/validation/built-in/short/makefile
index d82fc91..587a7fb 100644
--- a/tests/cxx/parser/validation/built-in/short/makefile
+++ b/tests/cxx/parser/validation/built-in/short/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/string/makefile b/tests/cxx/parser/validation/built-in/string/makefile
index 27fc822..b0d9516 100644
--- a/tests/cxx/parser/validation/built-in/string/makefile
+++ b/tests/cxx/parser/validation/built-in/string/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/built-in/uri/makefile b/tests/cxx/parser/validation/built-in/uri/makefile
index 09da436..7b21dbe 100644
--- a/tests/cxx/parser/validation/built-in/uri/makefile
+++ b/tests/cxx/parser/validation/built-in/uri/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/choice/makefile b/tests/cxx/parser/validation/choice/makefile
index 0df0020..102b7ed 100644
--- a/tests/cxx/parser/validation/choice/makefile
+++ b/tests/cxx/parser/validation/choice/makefile
@@ -27,9 +27,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -67,6 +66,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/restriction/makefile b/tests/cxx/parser/validation/restriction/makefile
index ba9dcff..38a42eb 100644
--- a/tests/cxx/parser/validation/restriction/makefile
+++ b/tests/cxx/parser/validation/restriction/makefile
@@ -27,9 +27,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -67,6 +66,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/parser/validation/sequence/makefile b/tests/cxx/parser/validation/sequence/makefile
index f7ee5a9..2ed6aff 100644
--- a/tests/cxx/parser/validation/sequence/makefile
+++ b/tests/cxx/parser/validation/sequence/makefile
@@ -27,9 +27,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-pskel.hxx) \
- $(out_base)/$(xsd:.xsd=-pskel.ixx) \
- $(out_base)/$(xsd:.xsd=-pskel.cxx)
+skelf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -67,6 +66,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/all/makefile b/tests/cxx/serializer/all/makefile
index d73444a..9c44e5e 100644
--- a/tests/cxx/serializer/all/makefile
+++ b/tests/cxx/serializer/all/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/built-in/makefile b/tests/cxx/serializer/built-in/makefile
index 78a2055..6628239 100644
--- a/tests/cxx/serializer/built-in/makefile
+++ b/tests/cxx/serializer/built-in/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -65,6 +64,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/choice/makefile b/tests/cxx/serializer/choice/makefile
index 41df081..5df4dc0 100644
--- a/tests/cxx/serializer/choice/makefile
+++ b/tests/cxx/serializer/choice/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/complex/makefile b/tests/cxx/serializer/complex/makefile
index 75da9e3..af73242 100644
--- a/tests/cxx/serializer/complex/makefile
+++ b/tests/cxx/serializer/complex/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/enumeration/makefile b/tests/cxx/serializer/enumeration/makefile
index 2ccb073..09e3dac 100644
--- a/tests/cxx/serializer/enumeration/makefile
+++ b/tests/cxx/serializer/enumeration/makefile
@@ -26,9 +26,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --type-map $(src_base)/test.map
@@ -61,6 +60,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/error-handling/codes/makefile b/tests/cxx/serializer/error-handling/codes/makefile
index bdaca6c..2a8cad9 100644
--- a/tests/cxx/serializer/error-handling/codes/makefile
+++ b/tests/cxx/serializer/error-handling/codes/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/error-handling/exceptions/makefile b/tests/cxx/serializer/error-handling/exceptions/makefile
index 19027cc..0737085 100644
--- a/tests/cxx/serializer/error-handling/exceptions/makefile
+++ b/tests/cxx/serializer/error-handling/exceptions/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/generated-driver/makefile b/tests/cxx/serializer/generated-driver/makefile
index 08957fa..eb55f1a 100644
--- a/tests/cxx/serializer/generated-driver/makefile
+++ b/tests/cxx/serializer/generated-driver/makefile
@@ -24,10 +24,10 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx) \
- $(out_base)/$(xsd:.xsd=-sdriver.cxx)
+genf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx) \
+ $(xsd:.xsd=-sdriver.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): xsde := $(out_root)/xsde/xsde
$(gen): xsde_options += --generate-test-driver --force-overwrite
@@ -59,6 +59,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(gen): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := $(xsd:.xsd=-sdriver) $(genf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/generated-impl/makefile b/tests/cxx/serializer/generated-impl/makefile
index fc6c6b9..3d2abf3 100644
--- a/tests/cxx/serializer/generated-impl/makefile
+++ b/tests/cxx/serializer/generated-impl/makefile
@@ -29,12 +29,10 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-gen := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx) \
- $(out_base)/$(xsd:.xsd=-simpl.hxx) \
- $(out_base)/$(xsd:.xsd=-simpl.cxx) \
- $(out_base)/$(xsd:.xsd=-sdriver.cxx)
+genf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx) \
+ $(xsd:.xsd=-simpl.hxx) $(xsd:.xsd=-simpl.cxx) $(xsd:.xsd=-sdriver.cxx)
+
+gen := $(addprefix $(out_base)/,$(genf))
$(gen): xsde := $(out_root)/xsde/xsde
$(gen): xsde_options += --generate-empty-impl --generate-test-driver \
@@ -68,6 +66,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-simpl.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(gen): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := $(xsd:.xsd=-sdriver) $(genf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/list/makefile b/tests/cxx/serializer/list/makefile
index 6d5a876..fc219e8 100644
--- a/tests/cxx/serializer/list/makefile
+++ b/tests/cxx/serializer/list/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/polymorphism/makefile b/tests/cxx/serializer/polymorphism/makefile
index ff2ccbe..c3c0970 100644
--- a/tests/cxx/serializer/polymorphism/makefile
+++ b/tests/cxx/serializer/polymorphism/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): xsde_options += --generate-polymorphic
@@ -59,6 +58,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/recursive/makefile b/tests/cxx/serializer/recursive/makefile
index 4de9d93..3e6ae4f 100644
--- a/tests/cxx/serializer/recursive/makefile
+++ b/tests/cxx/serializer/recursive/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/reset/makefile b/tests/cxx/serializer/reset/makefile
index 2d87e58..524e85e 100644
--- a/tests/cxx/serializer/reset/makefile
+++ b/tests/cxx/serializer/reset/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/restriction/makefile b/tests/cxx/serializer/restriction/makefile
index 0a4f081..8585261 100644
--- a/tests/cxx/serializer/restriction/makefile
+++ b/tests/cxx/serializer/restriction/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/sequence/makefile b/tests/cxx/serializer/sequence/makefile
index a3a109e..adfa14c 100644
--- a/tests/cxx/serializer/sequence/makefile
+++ b/tests/cxx/serializer/sequence/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/test-template/makefile b/tests/cxx/serializer/test-template/makefile
index 28e1f5f..78a3963 100644
--- a/tests/cxx/serializer/test-template/makefile
+++ b/tests/cxx/serializer/test-template/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/union/makefile b/tests/cxx/serializer/union/makefile
index f361564..ca6f923 100644
--- a/tests/cxx/serializer/union/makefile
+++ b/tests/cxx/serializer/union/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/validation/any/makefile b/tests/cxx/serializer/validation/any/makefile
index 2365ef1..9629c4e 100644
--- a/tests/cxx/serializer/validation/any/makefile
+++ b/tests/cxx/serializer/validation/any/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/validation/attribute/makefile b/tests/cxx/serializer/validation/attribute/makefile
index 586b957..039e312 100644
--- a/tests/cxx/serializer/validation/attribute/makefile
+++ b/tests/cxx/serializer/validation/attribute/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/validation/built-in/date-time/makefile b/tests/cxx/serializer/validation/built-in/date-time/makefile
index aa45e21..92e41a9 100644
--- a/tests/cxx/serializer/validation/built-in/date-time/makefile
+++ b/tests/cxx/serializer/validation/built-in/date-time/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/validation/built-in/decimal/makefile b/tests/cxx/serializer/validation/built-in/decimal/makefile
index e4517b6..a7a6b8a 100644
--- a/tests/cxx/serializer/validation/built-in/decimal/makefile
+++ b/tests/cxx/serializer/validation/built-in/decimal/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/validation/built-in/integer/makefile b/tests/cxx/serializer/validation/built-in/integer/makefile
index 37bd439..8a00b6a 100644
--- a/tests/cxx/serializer/validation/built-in/integer/makefile
+++ b/tests/cxx/serializer/validation/built-in/integer/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/validation/built-in/qname/makefile b/tests/cxx/serializer/validation/built-in/qname/makefile
index ec2d802..2963e25 100644
--- a/tests/cxx/serializer/validation/built-in/qname/makefile
+++ b/tests/cxx/serializer/validation/built-in/qname/makefile
@@ -49,6 +49,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/validation/built-in/string/makefile b/tests/cxx/serializer/validation/built-in/string/makefile
index 42a7d81..31e669f 100644
--- a/tests/cxx/serializer/validation/built-in/string/makefile
+++ b/tests/cxx/serializer/validation/built-in/string/makefile
@@ -40,6 +40,7 @@ $(test): driver := $(driver)
$(test): $(driver)
$(call message,test $$1,$$1,$(driver))
+
# Clean.
#
.PHONY: $(clean)
@@ -49,6 +50,18 @@ $(clean): $(driver).o.clean \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/validation/choice/makefile b/tests/cxx/serializer/validation/choice/makefile
index 79d45eb..41bd122 100644
--- a/tests/cxx/serializer/validation/choice/makefile
+++ b/tests/cxx/serializer/validation/choice/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/validation/element/makefile b/tests/cxx/serializer/validation/element/makefile
index ef916ed..ba992e0 100644
--- a/tests/cxx/serializer/validation/element/makefile
+++ b/tests/cxx/serializer/validation/element/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/validation/sequence/makefile b/tests/cxx/serializer/validation/sequence/makefile
index e16d8bf..45b229a 100644
--- a/tests/cxx/serializer/validation/sequence/makefile
+++ b/tests/cxx/serializer/validation/sequence/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/serializer/wildcard/makefile b/tests/cxx/serializer/wildcard/makefile
index 44db0ef..bbf69f8 100644
--- a/tests/cxx/serializer/wildcard/makefile
+++ b/tests/cxx/serializer/wildcard/makefile
@@ -25,9 +25,8 @@ $(driver): $(obj) $(xsde.l)
$(obj) $(dep): $(xsde.l.cpp-options)
-skel := $(out_base)/$(xsd:.xsd=-sskel.hxx) \
- $(out_base)/$(xsd:.xsd=-sskel.ixx) \
- $(out_base)/$(xsd:.xsd=-sskel.cxx)
+skelf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx)
+skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
@@ -58,6 +57,19 @@ $(clean): $(driver).o.clean \
$(addprefix $(out_base)/,$(xsd:.xsd=-sskel.cxx.xsd.clean))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(skel): | $(out_base)/.gitignore
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver $(skelf)
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/tests/cxx/string/makefile b/tests/cxx/string/makefile
index f9b239a..19cacef 100644
--- a/tests/cxx/string/makefile
+++ b/tests/cxx/string/makefile
@@ -44,11 +44,23 @@ $(test): $(driver)
#
.PHONY: $(clean)
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
+$(clean): $(driver).o.clean \
+ $(addsuffix .cxx.clean,$(obj)) \
$(addsuffix .cxx.clean,$(dep))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(driver): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := driver
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# How to.
#
$(call include,$(bld_root)/cxx/o-e.make)
diff --git a/xsde/makefile b/xsde/makefile
index 2272811..9d25cf9 100644
--- a/xsde/makefile
+++ b/xsde/makefile
@@ -154,6 +154,18 @@ $(clean): \
$(addsuffix .cxx.clean,$(cxx_od))
+# Generated .gitignore.
+#
+ifeq ($(out_base),$(src_base))
+$(xsde): | $(out_base)/.gitignore
+
+$(out_base)/.gitignore: files := xsde
+$(clean): $(out_base)/.gitignore.clean
+
+$(call include,$(bld_root)/git/gitignore.make)
+endif
+
+
# how to
#
$(call include,$(bld_root)/cxx/o-e.make)