aboutsummaryrefslogtreecommitdiff
path: root/tests/cxx/serializer
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2009-10-20 10:50:22 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2009-10-20 10:50:22 +0200
commitb135374d5e40df21871b3e0c9efc69ba2d8361cb (patch)
tree0f53bf8253ff16b7ce176f47b56e4ac879a768c6 /tests/cxx/serializer
parent54ed525e5b8680e8737b7750fd73458d9ef1d30c (diff)
Add tests to the distribution
The distribution makefiles for tests are automatically generated by the build/dist script. nmakefiles are not yet generated.
Diffstat (limited to 'tests/cxx/serializer')
-rw-r--r--tests/cxx/serializer/all/makefile22
-rw-r--r--tests/cxx/serializer/built-in/driver.cxx18
-rw-r--r--tests/cxx/serializer/built-in/makefile21
-rw-r--r--tests/cxx/serializer/built-in/test-000.xml1
-rw-r--r--tests/cxx/serializer/built-in/test-001.xml1
-rw-r--r--tests/cxx/serializer/choice/makefile22
-rw-r--r--tests/cxx/serializer/complex/makefile22
-rw-r--r--tests/cxx/serializer/enumeration/makefile26
-rw-r--r--tests/cxx/serializer/error-handling/codes/makefile22
-rw-r--r--tests/cxx/serializer/error-handling/exceptions/makefile22
-rw-r--r--tests/cxx/serializer/error-handling/makefile25
-rw-r--r--tests/cxx/serializer/generated-driver/makefile29
-rw-r--r--tests/cxx/serializer/list/makefile22
-rw-r--r--tests/cxx/serializer/makefile49
-rw-r--r--tests/cxx/serializer/polymorphism/makefile23
-rw-r--r--tests/cxx/serializer/recursive/makefile22
-rw-r--r--tests/cxx/serializer/reset/makefile22
-rw-r--r--tests/cxx/serializer/restriction/makefile22
-rw-r--r--tests/cxx/serializer/sequence/makefile22
-rw-r--r--tests/cxx/serializer/test-template/makefile22
-rw-r--r--tests/cxx/serializer/union/makefile22
-rw-r--r--tests/cxx/serializer/validation/any/makefile22
-rw-r--r--tests/cxx/serializer/validation/attribute/makefile22
-rw-r--r--tests/cxx/serializer/validation/built-in/date-time/makefile20
-rw-r--r--tests/cxx/serializer/validation/built-in/decimal/makefile20
-rw-r--r--tests/cxx/serializer/validation/built-in/integer/makefile20
-rw-r--r--tests/cxx/serializer/validation/built-in/makefile22
-rw-r--r--tests/cxx/serializer/validation/built-in/qname/makefile20
-rw-r--r--tests/cxx/serializer/validation/built-in/string/makefile19
-rw-r--r--tests/cxx/serializer/validation/choice/makefile22
-rw-r--r--tests/cxx/serializer/validation/element/makefile22
-rw-r--r--tests/cxx/serializer/validation/makefile25
-rw-r--r--tests/cxx/serializer/validation/sequence/makefile22
-rw-r--r--tests/cxx/serializer/wildcard/makefile22
34 files changed, 623 insertions, 112 deletions
diff --git a/tests/cxx/serializer/all/makefile b/tests/cxx/serializer/all/makefile
index 260cc30..c023eb9 100644
--- a/tests/cxx/serializer/all/makefile
+++ b/tests/cxx/serializer/all/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/built-in/driver.cxx b/tests/cxx/serializer/built-in/driver.cxx
index 453fd29..9798659 100644
--- a/tests/cxx/serializer/built-in/driver.cxx
+++ b/tests/cxx/serializer/built-in/driver.cxx
@@ -969,6 +969,8 @@ struct root_simpl: root_sskel
case 2:
return gday (15, 0, 0);
}
+
+ return gday (0);
}
virtual bool
@@ -989,6 +991,8 @@ struct root_simpl: root_sskel
case 1:
return gmonth (12, 2, 30);
}
+
+ return gmonth (0);
}
virtual bool
@@ -1009,6 +1013,8 @@ struct root_simpl: root_sskel
case 1:
return gyear (-2007, -2, -30);
}
+
+ return gyear (0);
}
virtual bool
@@ -1029,6 +1035,8 @@ struct root_simpl: root_sskel
case 1:
return gmonth_day (12, 31, 2, 30);
}
+
+ return gmonth_day (0, 0);
}
virtual bool
@@ -1049,6 +1057,8 @@ struct root_simpl: root_sskel
case 1:
return gyear_month (-2007, 12, -2, -30);
}
+
+ return gyear_month (0, 0);
}
virtual bool
@@ -1069,6 +1079,8 @@ struct root_simpl: root_sskel
case 1:
return date (-2007, 12, 31, -2, -30);
}
+
+ return date (0, 0, 0);
}
virtual bool
@@ -1089,6 +1101,8 @@ struct root_simpl: root_sskel
case 1:
return time (23, 59, 59.55, 2, 30);
}
+
+ return time (0, 0, 0);
}
virtual bool
@@ -1109,6 +1123,8 @@ struct root_simpl: root_sskel
case 1:
return date_time (-2007, 12, 31, 23, 59, 59.55, -2, -30);
}
+
+ return date_time (0, 0, 0, 0, 0, 0);
}
virtual bool
@@ -1139,6 +1155,8 @@ struct root_simpl: root_sskel
case 6:
return duration (false, 1, 2, 3, 4, 5, 6.7);
}
+
+ return duration (false, 0, 0, 0, 0, 0, 0);
}
private:
diff --git a/tests/cxx/serializer/built-in/makefile b/tests/cxx/serializer/built-in/makefile
index c0f3c84..5029c5c 100644
--- a/tests/cxx/serializer/built-in/makefile
+++ b/tests/cxx/serializer/built-in/makefile
@@ -16,9 +16,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -32,6 +34,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -55,6 +58,18 @@ $(out_base)/.test-%: $(driver) $(src_base)/test.xsd $(src_base)/test-%.std
$(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -)
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/built-in/test-000.xml b/tests/cxx/serializer/built-in/test-000.xml
new file mode 100644
index 0000000..421376d
--- /dev/null
+++ b/tests/cxx/serializer/built-in/test-000.xml
@@ -0,0 +1 @@
+dummy
diff --git a/tests/cxx/serializer/built-in/test-001.xml b/tests/cxx/serializer/built-in/test-001.xml
new file mode 100644
index 0000000..421376d
--- /dev/null
+++ b/tests/cxx/serializer/built-in/test-001.xml
@@ -0,0 +1 @@
+dummy
diff --git a/tests/cxx/serializer/choice/makefile b/tests/cxx/serializer/choice/makefile
index 964345a..c1f958c 100644
--- a/tests/cxx/serializer/choice/makefile
+++ b/tests/cxx/serializer/choice/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/complex/makefile b/tests/cxx/serializer/complex/makefile
index fddcbc4..51f95e9 100644
--- a/tests/cxx/serializer/complex/makefile
+++ b/tests/cxx/serializer/complex/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/enumeration/makefile b/tests/cxx/serializer/enumeration/makefile
index 33e5594..8e8d663 100644
--- a/tests/cxx/serializer/enumeration/makefile
+++ b/tests/cxx/serializer/enumeration/makefile
@@ -7,6 +7,7 @@ include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make
xsd := test.xsd
cxx := driver.cxx
+hxx := boolean.hxx
obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-sskel.o))
dep := $(obj:.o=.o.d)
@@ -14,9 +15,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,8 +33,7 @@ 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
-
+$(skel) $(dist) $(dist-win): xsde_options += --type-map $(src_base)/test.map
$(skel): $(out_root)/xsde/xsde $(src_base)/test.map
$(call include-dep,$(dep))
@@ -47,6 +49,20 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer \
+-xsd "$(xsd)" -cxx "$(cxx)" -hxx "$(hxx)" -gen "$(skelf)" \
+-opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/error-handling/codes/makefile b/tests/cxx/serializer/error-handling/codes/makefile
index 3985a4b..a2a67c9 100644
--- a/tests/cxx/serializer/error-handling/codes/makefile
+++ b/tests/cxx/serializer/error-handling/codes/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/error-handling/exceptions/makefile b/tests/cxx/serializer/error-handling/exceptions/makefile
index eed922f..c32c51c 100644
--- a/tests/cxx/serializer/error-handling/exceptions/makefile
+++ b/tests/cxx/serializer/error-handling/exceptions/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/error-handling/makefile b/tests/cxx/serializer/error-handling/makefile
index 360faac..8141718 100644
--- a/tests/cxx/serializer/error-handling/makefile
+++ b/tests/cxx/serializer/error-handling/makefile
@@ -5,18 +5,31 @@
include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make
+# NOTE: remember to update dist/tests/cxx/serializer/error-handling/
+# {makefile,nmakefile} if you change anything here.
+#
+
+all_tests := codes exceptions
+
ifeq ($(xsde_exceptions),y)
-tests := exceptions
+build_tests := exceptions
else
-tests := codes
+build_tests := codes
endif
default := $(out_base)/
test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
-$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests)))
-$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests)))
-$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests)))
+$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_tests)))
+$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(build_tests)))
+$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_tests)))
+$(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(all_tests)))
-$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile))
+ifneq ($(filter $(MAKECMDGOALS),dist dist-win),)
+$(foreach t,$(all_tests),$(call import,$(src_base)/$t/makefile))
+else
+$(foreach t,$(build_tests),$(call import,$(src_base)/$t/makefile))
+endif
diff --git a/tests/cxx/serializer/generated-driver/makefile b/tests/cxx/serializer/generated-driver/makefile
index 0e043b2..497ee15 100644
--- a/tests/cxx/serializer/generated-driver/makefile
+++ b/tests/cxx/serializer/generated-driver/makefile
@@ -6,16 +6,20 @@
include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make
xsd := test.xsd
+cxx := test-simpl.cxx
+hxx := test-simpl.hxx
-obj := $(addprefix $(out_base)/,$(xsd:.xsd=-sskel.o) $(xsd:.xsd=-simpl.o) $(xsd:.xsd=-sdriver.o))
+obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-sskel.o) $(xsd:.xsd=-sdriver.o))
dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/$(xsd:.xsd=-sdriver)
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/$(xsd:.xsd=-sdriver)
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,8 +34,9 @@ genf := $(xsd:.xsd=-sskel.hxx) $(xsd:.xsd=-sskel.ixx) $(xsd:.xsd=-sskel.cxx) \
gen := $(addprefix $(out_base)/,$(genf))
$(gen): xsde := $(out_root)/xsde/xsde
-$(gen): xsde_options += --generate-test-driver --force-overwrite
$(gen): $(out_root)/xsde/xsde
+$(gen) $(dist) $(dist-win): xsde_options += --generate-test-driver \
+--force-overwrite
$(call include-dep,$(dep))
@@ -46,6 +51,20 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer \
+-xsd "$(xsd)" -cxx "$(cxx)" -hxx "$(hxx)" -gen "$(genf)" \
+-opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/list/makefile b/tests/cxx/serializer/list/makefile
index cef767c..3c87bea 100644
--- a/tests/cxx/serializer/list/makefile
+++ b/tests/cxx/serializer/list/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/makefile b/tests/cxx/serializer/makefile
index dcb27f0..577fb26 100644
--- a/tests/cxx/serializer/makefile
+++ b/tests/cxx/serializer/makefile
@@ -5,11 +5,35 @@
include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make
-tests := generated-driver generated-impl
+# NOTE: remember to update dist/tests/cxx/serializer/{makefile,nmakefile} if
+# you change anything here.
+#
+
+all_tests := \
+generated-driver \
+generated-impl \
+all \
+built-in \
+choice \
+error-handling \
+recursive \
+reset \
+restriction \
+sequence \
+test-template \
+wildcard \
+complex \
+enumeration \
+list \
+union \
+polymorphism \
+validation
+
+build_tests := generated-driver generated-impl
ifeq ($(xsde_iostream),y)
-tests += \
+build_tests += \
all \
built-in \
choice \
@@ -22,7 +46,7 @@ test-template \
wildcard
ifeq ($(xsde_reuse_style),tiein)
-tests += \
+build_tests += \
complex \
enumeration \
list \
@@ -31,22 +55,29 @@ endif
ifeq ($(xsde_polymorphic),y)
ifeq ($(xsde_reuse_style),tiein)
-tests += polymorphism
+build_tests += polymorphism
endif
endif
endif # xsde_iostream
ifeq ($(xsde_serializer_validation),y)
-tests += validation
+build_tests += validation
endif
default := $(out_base)/
test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
-$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests)))
-$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests)))
-$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests)))
+$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_tests)))
+$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(build_tests)))
+$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_tests)))
+$(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(all_tests)))
-$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile))
+ifneq ($(filter $(MAKECMDGOALS),dist dist-win),)
+$(foreach t,$(all_tests),$(call import,$(src_base)/$t/makefile))
+else
+$(foreach t,$(build_tests),$(call import,$(src_base)/$t/makefile))
+endif
diff --git a/tests/cxx/serializer/polymorphism/makefile b/tests/cxx/serializer/polymorphism/makefile
index d13f8c8..f909ea2 100644
--- a/tests/cxx/serializer/polymorphism/makefile
+++ b/tests/cxx/serializer/polymorphism/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -29,8 +31,8 @@ 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
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options += --generate-polymorphic
$(call include-dep,$(dep))
@@ -45,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/recursive/makefile b/tests/cxx/serializer/recursive/makefile
index 7000f22..2c6d7c1 100644
--- a/tests/cxx/serializer/recursive/makefile
+++ b/tests/cxx/serializer/recursive/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/reset/makefile b/tests/cxx/serializer/reset/makefile
index 7906a09..686ff81 100644
--- a/tests/cxx/serializer/reset/makefile
+++ b/tests/cxx/serializer/reset/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/restriction/makefile b/tests/cxx/serializer/restriction/makefile
index 3b738f0..ae36c46 100644
--- a/tests/cxx/serializer/restriction/makefile
+++ b/tests/cxx/serializer/restriction/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/sequence/makefile b/tests/cxx/serializer/sequence/makefile
index 6c33dba..df1d32e 100644
--- a/tests/cxx/serializer/sequence/makefile
+++ b/tests/cxx/serializer/sequence/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/test-template/makefile b/tests/cxx/serializer/test-template/makefile
index 295fbf5..3dde195 100644
--- a/tests/cxx/serializer/test-template/makefile
+++ b/tests/cxx/serializer/test-template/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/union/makefile b/tests/cxx/serializer/union/makefile
index 24a007d..d8c18fb 100644
--- a/tests/cxx/serializer/union/makefile
+++ b/tests/cxx/serializer/union/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/validation/any/makefile b/tests/cxx/serializer/validation/any/makefile
index 53e61cb..3d848d5 100644
--- a/tests/cxx/serializer/validation/any/makefile
+++ b/tests/cxx/serializer/validation/any/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/validation/attribute/makefile b/tests/cxx/serializer/validation/attribute/makefile
index 4fafac8..9763ed8 100644
--- a/tests/cxx/serializer/validation/attribute/makefile
+++ b/tests/cxx/serializer/validation/attribute/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/validation/built-in/date-time/makefile b/tests/cxx/serializer/validation/built-in/date-time/makefile
index 7a8eaa6..1d069a1 100644
--- a/tests/cxx/serializer/validation/built-in/date-time/makefile
+++ b/tests/cxx/serializer/validation/built-in/date-time/makefile
@@ -13,9 +13,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -37,6 +39,18 @@ $(test): driver := $(driver)
$(test): $(driver)
$(call message,test $$1,$$1,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cxx "$(cxx)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/validation/built-in/decimal/makefile b/tests/cxx/serializer/validation/built-in/decimal/makefile
index eed1012..e893e78 100644
--- a/tests/cxx/serializer/validation/built-in/decimal/makefile
+++ b/tests/cxx/serializer/validation/built-in/decimal/makefile
@@ -13,9 +13,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -37,6 +39,18 @@ $(test): driver := $(driver)
$(test): $(driver)
$(call message,test $$1,$$1,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cxx "$(cxx)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/validation/built-in/integer/makefile b/tests/cxx/serializer/validation/built-in/integer/makefile
index 72e5152..00b11af 100644
--- a/tests/cxx/serializer/validation/built-in/integer/makefile
+++ b/tests/cxx/serializer/validation/built-in/integer/makefile
@@ -13,9 +13,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -37,6 +39,18 @@ $(test): driver := $(driver)
$(test): $(driver)
$(call message,test $$1,$$1,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cxx "$(cxx)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/validation/built-in/makefile b/tests/cxx/serializer/validation/built-in/makefile
index 7ea3cd4..99b8603 100644
--- a/tests/cxx/serializer/validation/built-in/makefile
+++ b/tests/cxx/serializer/validation/built-in/makefile
@@ -5,14 +5,26 @@
include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make
-tests := date-time decimal integer qname string
+# NOTE: remember to update dist/tests/cxx/serializer/validation/built-in/
+# {makefile,nmakefile} if you change anything here.
+#
+
+all_tests := date-time decimal integer qname string
+build_tests := date-time decimal integer qname string
default := $(out_base)/
test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
-$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests)))
-$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests)))
-$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests)))
+$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_tests)))
+$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(build_tests)))
+$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_tests)))
+$(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(all_tests)))
-$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile))
+ifneq ($(filter $(MAKECMDGOALS),dist dist-win),)
+$(foreach t,$(all_tests),$(call import,$(src_base)/$t/makefile))
+else
+$(foreach t,$(build_tests),$(call import,$(src_base)/$t/makefile))
+endif
diff --git a/tests/cxx/serializer/validation/built-in/qname/makefile b/tests/cxx/serializer/validation/built-in/qname/makefile
index 025dab3..3dd483c 100644
--- a/tests/cxx/serializer/validation/built-in/qname/makefile
+++ b/tests/cxx/serializer/validation/built-in/qname/makefile
@@ -13,9 +13,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -37,6 +39,18 @@ $(test): driver := $(driver)
$(test): $(driver)
$(call message,test $$1,$$1,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cxx "$(cxx)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/validation/built-in/string/makefile b/tests/cxx/serializer/validation/built-in/string/makefile
index b51efbb..7e2deb4 100644
--- a/tests/cxx/serializer/validation/built-in/string/makefile
+++ b/tests/cxx/serializer/validation/built-in/string/makefile
@@ -13,9 +13,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -38,6 +40,17 @@ $(test): $(driver)
$(call message,test $$1,$$1,$(driver))
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cxx "$(cxx)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/validation/choice/makefile b/tests/cxx/serializer/validation/choice/makefile
index 1ab62d6..4e95726 100644
--- a/tests/cxx/serializer/validation/choice/makefile
+++ b/tests/cxx/serializer/validation/choice/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/validation/element/makefile b/tests/cxx/serializer/validation/element/makefile
index 7c061d0..b8166b9 100644
--- a/tests/cxx/serializer/validation/element/makefile
+++ b/tests/cxx/serializer/validation/element/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/validation/makefile b/tests/cxx/serializer/validation/makefile
index f72083e..f6408a4 100644
--- a/tests/cxx/serializer/validation/makefile
+++ b/tests/cxx/serializer/validation/makefile
@@ -5,18 +5,31 @@
include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make
-tests := built-in
+# NOTE: remember to update dist/tests/cxx/serializer/validation/{makefile,
+# nmakefile} if you change anything here.
+#
+
+all_tests := built-in any attribute choice element sequence
+
+build_tests := built-in
ifeq ($(xsde_iostream),y)
-tests += any attribute choice element sequence
+build_tests += any attribute choice element sequence
endif
default := $(out_base)/
test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
-$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests)))
-$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests)))
-$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests)))
+$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_tests)))
+$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(build_tests)))
+$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_tests)))
+$(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(all_tests)))
-$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile))
+ifneq ($(filter $(MAKECMDGOALS),dist dist-win),)
+$(foreach t,$(all_tests),$(call import,$(src_base)/$t/makefile))
+else
+$(foreach t,$(build_tests),$(call import,$(src_base)/$t/makefile))
+endif
diff --git a/tests/cxx/serializer/validation/sequence/makefile b/tests/cxx/serializer/validation/sequence/makefile
index 5667564..014eec3 100644
--- a/tests/cxx/serializer/validation/sequence/makefile
+++ b/tests/cxx/serializer/validation/sequence/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \
diff --git a/tests/cxx/serializer/wildcard/makefile b/tests/cxx/serializer/wildcard/makefile
index 1a5e2e9..dc49910 100644
--- a/tests/cxx/serializer/wildcard/makefile
+++ b/tests/cxx/serializer/wildcard/makefile
@@ -14,9 +14,11 @@ dep := $(obj:.o=.o.d)
xsde.l := $(out_root)/libxsde/xsde/xsde.l
xsde.l.cpp-options := $(out_root)/libxsde/xsde/xsde.l.cpp-options
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
+driver := $(out_base)/driver
+test := $(out_base)/.test
+dist := $(out_base)/.dist
+dist-win := $(out_base)/.dist-win
+clean := $(out_base)/.clean
# Build.
@@ -30,6 +32,7 @@ skel := $(addprefix $(out_base)/,$(skelf))
$(skel): xsde := $(out_root)/xsde/xsde
$(skel): $(out_root)/xsde/xsde
+$(skel) $(dist) $(dist-win): xsde_options +=
$(call include-dep,$(dep))
@@ -44,6 +47,19 @@ $(test): driver := $(driver)
$(test): $(driver) $(src_base)/test-000.std
$(call message,test $$1,$$1 | diff -u $(src_base)/test-000.std -,$(driver))
+
+# Dist.
+#
+$(dist) $(dist-win): opt := -src $(src_base) -cmd cxx-serializer -xsd "$(xsd)" \
+-cxx "$(cxx)" -gen "$(skelf)" -opt "$(xsde_options)" -out $(dist_prefix)
+
+$(dist):
+ $(call message,install $(src_base),$(scf_root)/dist $(opt))
+
+$(dist-win):
+ $(call message,install $(src_base),$(scf_root)/dist -win $(opt))
+
+
# Clean.
#
$(clean): $(driver).o.clean \