summaryrefslogtreecommitdiff
path: root/examples/cxx/tree
diff options
context:
space:
mode:
Diffstat (limited to 'examples/cxx/tree')
-rw-r--r--examples/cxx/tree/binary/boost/makefile17
-rw-r--r--examples/cxx/tree/binary/cdr/makefile14
-rw-r--r--examples/cxx/tree/binary/makefile12
-rw-r--r--examples/cxx/tree/binary/xdr/makefile12
-rw-r--r--examples/cxx/tree/caching/makefile12
-rw-r--r--examples/cxx/tree/custom/calendar/makefile16
-rw-r--r--examples/cxx/tree/custom/comments/makefile16
-rw-r--r--examples/cxx/tree/custom/contacts/makefile14
-rw-r--r--examples/cxx/tree/custom/double/makefile13
-rw-r--r--examples/cxx/tree/custom/makefile12
-rw-r--r--examples/cxx/tree/custom/mixed/makefile14
-rw-r--r--examples/cxx/tree/custom/taxonomy/makefile15
-rw-r--r--examples/cxx/tree/custom/wildcard/makefile14
-rw-r--r--examples/cxx/tree/dbxml/makefile13
-rw-r--r--examples/cxx/tree/hello/makefile12
-rw-r--r--examples/cxx/tree/library/makefile12
-rw-r--r--examples/cxx/tree/makefile11
-rw-r--r--examples/cxx/tree/messaging/makefile18
-rw-r--r--examples/cxx/tree/mixed/makefile12
-rw-r--r--examples/cxx/tree/multiroot/makefile16
-rw-r--r--examples/cxx/tree/performance/makefile19
-rw-r--r--examples/cxx/tree/polymorphism/makefile12
-rw-r--r--examples/cxx/tree/streaming/makefile16
-rw-r--r--examples/cxx/tree/wildcard/makefile12
-rw-r--r--examples/cxx/tree/xpath/makefile16
25 files changed, 292 insertions, 58 deletions
diff --git a/examples/cxx/tree/binary/boost/makefile b/examples/cxx/tree/binary/boost/makefile
index 0cfd3ad..c3f1938 100644
--- a/examples/cxx/tree/binary/boost/makefile
+++ b/examples/cxx/tree/binary/boost/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -23,7 +24,7 @@ $(call import,\
$(scf_root)/import/libxerces-c/stub.make,\
l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-ifeq ($(filter $(MAKECMDGOALS),dist dist-win),)
+ifeq ($(filter $(MAKECMDGOALS),dist dist-win install),)
$(call import,\
$(scf_root)/import/libboost/serialization/stub.make,\
l: boost_serialization.l,cpp-options: boost_serialization.l.cpp-options)
@@ -55,11 +56,21 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd)
+ $(call install-data,$(src_base)/library.xml,$(install_doc_dir)/xsd/$(path)/library.xml)
+ $(call install-data,$(src_base)/library-prologue.hxx,$(install_doc_dir)/xsd/$(path)/library-prologue.hxx)
+ $(call install-data,$(src_base)/boost-archive-extraction.hxx,$(install_doc_dir)/xsd/$(path)/boost-archive-extraction.hxx)
+ $(call install-data,$(src_base)/boost-archive-insertion.hxx,$(install_doc_dir)/xsd/$(path)/boost-archive-insertion.hxx)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/binary/cdr/makefile b/examples/cxx/tree/binary/cdr/makefile
index 8b7ffc2..1b49cd1 100644
--- a/examples/cxx/tree/binary/cdr/makefile
+++ b/examples/cxx/tree/binary/cdr/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -23,7 +24,7 @@ $(call import,\
$(scf_root)/import/libxerces-c/stub.make,\
l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-ifeq ($(filter $(MAKECMDGOALS),dist dist-win),)
+ifeq ($(filter $(MAKECMDGOALS),dist dist-win install),)
$(call import,\
$(scf_root)/import/libace/stub.make,\
l: ace.l,cpp-options: ace.l.cpp-options)
@@ -51,11 +52,18 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd)
+ $(call install-data,$(src_base)/library.xml,$(install_doc_dir)/xsd/$(path)/library.xml)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/binary/makefile b/examples/cxx/tree/binary/makefile
index b2c111f..53c5891 100644
--- a/examples/cxx/tree/binary/makefile
+++ b/examples/cxx/tree/binary/makefile
@@ -21,6 +21,7 @@ build_examples += xdr
endif
default := $(out_base)/
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -29,9 +30,12 @@ clean := $(out_base)/.clean
#
$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_examples)))
-# Dist.
+# Install & Dist.
#
-$(dist) $(dist-win): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win): path := $(subst $(src_root)/,,$(src_base))
+
+$(install): $(addprefix $(out_base)/,$(addsuffix /.install,$(all_examples)))
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_examples)))
$(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README)
@@ -44,7 +48,9 @@ $(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(all_examples)))
#
$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(build_examples)))
-ifneq ($(filter $(MAKECMDGOALS),dist dist-win),)
+$(call include,$(bld_root)/install.make)
+
+ifneq ($(filter $(MAKECMDGOALS),dist dist-win install),)
$(foreach e,$(all_examples),$(call import,$(src_base)/$e/makefile))
else
$(foreach e,$(build_examples),$(call import,$(src_base)/$e/makefile))
diff --git a/examples/cxx/tree/binary/xdr/makefile b/examples/cxx/tree/binary/xdr/makefile
index 8a78304..bbc8ab3 100644
--- a/examples/cxx/tree/binary/xdr/makefile
+++ b/examples/cxx/tree/binary/xdr/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -43,11 +44,18 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd)
+ $(call install-data,$(src_base)/library.xml,$(install_doc_dir)/xsd/$(path)/library.xml)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/caching/makefile b/examples/cxx/tree/caching/makefile
index 0c5e29b..012c34e 100644
--- a/examples/cxx/tree/caching/makefile
+++ b/examples/cxx/tree/caching/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -44,11 +45,18 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd)
+ $(call install-data,$(src_base)/library.xml,$(install_doc_dir)/xsd/$(path)/library.xml)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/custom/calendar/makefile b/examples/cxx/tree/custom/calendar/makefile
index 9b77e96..91c2ffb 100644
--- a/examples/cxx/tree/custom/calendar/makefile
+++ b/examples/cxx/tree/custom/calendar/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -23,7 +24,7 @@ $(call import,\
$(scf_root)/import/libxerces-c/stub.make,\
l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-ifeq ($(filter $(MAKECMDGOALS),dist dist-win),)
+ifeq ($(filter $(MAKECMDGOALS),dist dist-win install),)
$(call import,\
$(scf_root)/import/libboost/date-time/stub.make,\
l: boost_date_time.l,cpp-options: boost_date_time.l.cpp-options)
@@ -66,11 +67,20 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/calendar.xsd,$(install_doc_dir)/xsd/$(path)/calendar.xsd)
+ $(call install-data,$(src_base)/calendar.xml,$(install_doc_dir)/xsd/$(path)/calendar.xml)
+ $(call install-data,$(src_base)/xml-schema-custom.hxx,$(install_doc_dir)/xsd/$(path)/xml-schema-custom.hxx)
+ $(call install-data,$(src_base)/xml-schema-custom.cxx,$(install_doc_dir)/xsd/$(path)/xml-schema-custom.cxx)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/custom/comments/makefile b/examples/cxx/tree/custom/comments/makefile
index 28f3f69..22c3cec 100644
--- a/examples/cxx/tree/custom/comments/makefile
+++ b/examples/cxx/tree/custom/comments/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -58,11 +59,22 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/people.xsd,$(install_doc_dir)/xsd/$(path)/people.xsd)
+ $(call install-data,$(src_base)/people.xml,$(install_doc_dir)/xsd/$(path)/people.xml)
+ $(call install-data,$(src_base)/xml-schema-custom.hxx,$(install_doc_dir)/xsd/$(path)/xml-schema-custom.hxx)
+ $(call install-data,$(src_base)/xml-schema-custom.cxx,$(install_doc_dir)/xsd/$(path)/xml-schema-custom.cxx)
+ $(call install-data,$(src_base)/dom-parse.hxx,$(install_doc_dir)/xsd/$(path)/dom-parse.hxx)
+ $(call install-data,$(src_base)/dom-parse.cxx,$(install_doc_dir)/xsd/$(path)/dom-parse.cxx)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/custom/contacts/makefile b/examples/cxx/tree/custom/contacts/makefile
index c7e0856..ceb34d0 100644
--- a/examples/cxx/tree/custom/contacts/makefile
+++ b/examples/cxx/tree/custom/contacts/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -52,11 +53,20 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/contacts.xsd,$(install_doc_dir)/xsd/$(path)/contacts.xsd)
+ $(call install-data,$(src_base)/contacts.xml,$(install_doc_dir)/xsd/$(path)/contacts.xml)
+ $(call install-data,$(src_base)/contacts-custom.hxx,$(install_doc_dir)/xsd/$(path)/contacts-custom.hxx)
+ $(call install-data,$(src_base)/contacts-custom.cxx,$(install_doc_dir)/xsd/$(path)/contacts-custom.cxx)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/custom/double/makefile b/examples/cxx/tree/custom/double/makefile
index 550b40f..c58d41b 100644
--- a/examples/cxx/tree/custom/double/makefile
+++ b/examples/cxx/tree/custom/double/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -53,11 +54,19 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/order.xsd,$(install_doc_dir)/xsd/$(path)/order.xsd)
+ $(call install-data,$(src_base)/double-custom.hxx,$(install_doc_dir)/xsd/$(path)/double-custom.hxx)
+ $(call install-data,$(src_base)/double-custom.cxx,$(install_doc_dir)/xsd/$(path)/double-custom.cxx)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/custom/makefile b/examples/cxx/tree/custom/makefile
index fc851e3..8c6e4f4 100644
--- a/examples/cxx/tree/custom/makefile
+++ b/examples/cxx/tree/custom/makefile
@@ -13,6 +13,7 @@ build_examples += calendar
endif
default := $(out_base)/
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -21,9 +22,12 @@ clean := $(out_base)/.clean
#
$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_examples)))
-# Dist.
+# Install & Dist.
#
-$(dist) $(dist-win): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win): path := $(subst $(src_root)/,,$(src_base))
+
+$(install): $(addprefix $(out_base)/,$(addsuffix /.install,$(all_examples)))
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_examples)))
$(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README)
@@ -36,7 +40,9 @@ $(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(all_examples)))
#
$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(build_examples)))
-ifneq ($(filter $(MAKECMDGOALS),dist dist-win),)
+$(call include,$(bld_root)/install.make)
+
+ifneq ($(filter $(MAKECMDGOALS),dist dist-win install),)
$(foreach e,$(all_examples),$(call import,$(src_base)/$e/makefile))
else
$(foreach e,$(build_examples),$(call import,$(src_base)/$e/makefile))
diff --git a/examples/cxx/tree/custom/mixed/makefile b/examples/cxx/tree/custom/mixed/makefile
index 67807a6..54891b2 100644
--- a/examples/cxx/tree/custom/mixed/makefile
+++ b/examples/cxx/tree/custom/mixed/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -53,11 +54,20 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/people.xsd,$(install_doc_dir)/xsd/$(path)/people.xsd)
+ $(call install-data,$(src_base)/people.xml,$(install_doc_dir)/xsd/$(path)/people.xml)
+ $(call install-data,$(src_base)/people-custom.hxx,$(install_doc_dir)/xsd/$(path)/people-custom.hxx)
+ $(call install-data,$(src_base)/people-custom.cxx,$(install_doc_dir)/xsd/$(path)/people-custom.cxx)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/custom/taxonomy/makefile b/examples/cxx/tree/custom/taxonomy/makefile
index ef3b39a..3df95c0 100644
--- a/examples/cxx/tree/custom/taxonomy/makefile
+++ b/examples/cxx/tree/custom/taxonomy/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -57,11 +58,21 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/people.xsd,$(install_doc_dir)/xsd/$(path)/people.xsd)
+ $(call install-data,$(src_base)/people.xml,$(install_doc_dir)/xsd/$(path)/people.xml)
+ $(call install-data,$(src_base)/people-custom.hxx,$(install_doc_dir)/xsd/$(path)/people-custom.hxx)
+ $(call install-data,$(src_base)/people-custom.cxx,$(install_doc_dir)/xsd/$(path)/people-custom.cxx)
+ $(call install-data,$(src_base)/people-custom-fwd.hxx,$(install_doc_dir)/xsd/$(path)/people-custom-fwd.hxx)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/custom/wildcard/makefile b/examples/cxx/tree/custom/wildcard/makefile
index 4334132..74e6675 100644
--- a/examples/cxx/tree/custom/wildcard/makefile
+++ b/examples/cxx/tree/custom/wildcard/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -54,11 +55,20 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/wildcard.xsd,$(install_doc_dir)/xsd/$(path)/wildcard.xsd)
+ $(call install-data,$(src_base)/wildcard.xml,$(install_doc_dir)/xsd/$(path)/wildcard.xml)
+ $(call install-data,$(src_base)/wildcard-custom.hxx,$(install_doc_dir)/xsd/$(path)/wildcard-custom.hxx)
+ $(call install-data,$(src_base)/wildcard-custom.cxx,$(install_doc_dir)/xsd/$(path)/wildcard-custom.cxx)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/dbxml/makefile b/examples/cxx/tree/dbxml/makefile
index 12e216c..b31e768 100644
--- a/examples/cxx/tree/dbxml/makefile
+++ b/examples/cxx/tree/dbxml/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -23,7 +24,7 @@ $(call import,\
$(scf_root)/import/libxerces-c/stub.make,\
l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-ifeq ($(filter $(MAKECMDGOALS),dist dist-win),)
+ifeq ($(filter $(MAKECMDGOALS),dist dist-win install),)
$(call import,\
$(scf_root)/import/libdbxml/stub.make,\
l: dbxml.l,cpp-options: dbxml.l.cpp-options)
@@ -50,11 +51,17 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/hello/makefile b/examples/cxx/tree/hello/makefile
index 65e60ba..ec4b208 100644
--- a/examples/cxx/tree/hello/makefile
+++ b/examples/cxx/tree/hello/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -44,11 +45,18 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/hello.xsd,$(install_doc_dir)/xsd/$(path)/hello.xsd)
+ $(call install-data,$(src_base)/hello.xml,$(install_doc_dir)/xsd/$(path)/hello.xml)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/library/makefile b/examples/cxx/tree/library/makefile
index 7ff86ba..c4e33e0 100644
--- a/examples/cxx/tree/library/makefile
+++ b/examples/cxx/tree/library/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -45,11 +46,18 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd)
+ $(call install-data,$(src_base)/library.xml,$(install_doc_dir)/xsd/$(path)/library.xml)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/makefile b/examples/cxx/tree/makefile
index 8b7a665..15bcfb2 100644
--- a/examples/cxx/tree/makefile
+++ b/examples/cxx/tree/makefile
@@ -20,6 +20,7 @@ build_examples += xpath
endif
default := $(out_base)/
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -28,9 +29,12 @@ clean := $(out_base)/.clean
#
$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_examples)))
-# Dist.
+# Install & Dist.
#
-$(dist) $(dist-win): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win): path := $(subst $(src_root)/,,$(src_base))
+
+$(install): $(addprefix $(out_base)/,$(addsuffix /.install,$(all_examples)))
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_examples)))
$(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README)
@@ -43,8 +47,9 @@ $(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(all_examples)))
#
$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(build_examples)))
+$(call include,$(bld_root)/install.make)
-ifneq ($(filter $(MAKECMDGOALS),dist dist-win),)
+ifneq ($(filter $(MAKECMDGOALS),dist dist-win install),)
$(foreach e,$(all_examples),$(call import,$(src_base)/$e/makefile))
else
$(foreach e,$(build_examples),$(call import,$(src_base)/$e/makefile))
diff --git a/examples/cxx/tree/messaging/makefile b/examples/cxx/tree/messaging/makefile
index 31bf56b..ddeef9c 100644
--- a/examples/cxx/tree/messaging/makefile
+++ b/examples/cxx/tree/messaging/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -47,11 +48,24 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/protocol.xsd,$(install_doc_dir)/xsd/$(path)/protocol.xsd)
+ $(call install-data,$(src_base)/balance.xml,$(install_doc_dir)/xsd/$(path)/balance.xml)
+ $(call install-data,$(src_base)/deposit.xml,$(install_doc_dir)/xsd/$(path)/deposit.xml)
+ $(call install-data,$(src_base)/withdraw.xml,$(install_doc_dir)/xsd/$(path)/withdraw.xml)
+ $(call install-data,$(src_base)/dom-parse.hxx,$(install_doc_dir)/xsd/$(path)/dom-parse.hxx)
+ $(call install-data,$(src_base)/dom-parse.cxx,$(install_doc_dir)/xsd/$(path)/dom-parse.cxx)
+ $(call install-data,$(src_base)/dom-serialize.hxx,$(install_doc_dir)/xsd/$(path)/dom-serialize.hxx)
+ $(call install-data,$(src_base)/dom-serialize.cxx,$(install_doc_dir)/xsd/$(path)/dom-serialize.cxx)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/mixed/makefile b/examples/cxx/tree/mixed/makefile
index bb9129a..f3f8d03 100644
--- a/examples/cxx/tree/mixed/makefile
+++ b/examples/cxx/tree/mixed/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -45,11 +46,18 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/text.xsd,$(install_doc_dir)/xsd/$(path)/text.xsd)
+ $(call install-data,$(src_base)/text.xml,$(install_doc_dir)/xsd/$(path)/text.xml)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/multiroot/makefile b/examples/cxx/tree/multiroot/makefile
index 6949947..687c103 100644
--- a/examples/cxx/tree/multiroot/makefile
+++ b/examples/cxx/tree/multiroot/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -44,11 +45,22 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/protocol.xsd,$(install_doc_dir)/xsd/$(path)/protocol.xsd)
+ $(call install-data,$(src_base)/balance.xml,$(install_doc_dir)/xsd/$(path)/balance.xml)
+ $(call install-data,$(src_base)/deposit.xml,$(install_doc_dir)/xsd/$(path)/deposit.xml)
+ $(call install-data,$(src_base)/withdraw.xml,$(install_doc_dir)/xsd/$(path)/withdraw.xml)
+ $(call install-data,$(src_base)/dom-parse.hxx,$(install_doc_dir)/xsd/$(path)/dom-parse.hxx)
+ $(call install-data,$(src_base)/dom-parse.cxx,$(install_doc_dir)/xsd/$(path)/dom-parse.cxx)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/performance/makefile b/examples/cxx/tree/performance/makefile
index fdc380f..4451d91 100644
--- a/examples/cxx/tree/performance/makefile
+++ b/examples/cxx/tree/performance/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -44,11 +45,25 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/parsing.cxx,$(install_doc_dir)/xsd/$(path)/parsing.cxx)
+ $(call install-data,$(src_base)/serialization.cxx,$(install_doc_dir)/xsd/$(path)/serialization.cxx)
+ $(call install-data,$(src_base)/test.xsd,$(install_doc_dir)/xsd/$(path)/test.xsd)
+ $(call install-data,$(src_base)/test-5k.xml,$(install_doc_dir)/xsd/$(path)/test-5k.xml)
+ $(call install-data,$(src_base)/test-50k.xml,$(install_doc_dir)/xsd/$(path)/test-50k.xml)
+ $(call install-data,$(src_base)/test-500k.xml,$(install_doc_dir)/xsd/$(path)/test-500k.xml)
+ $(call install-data,$(src_base)/time.hxx,$(install_doc_dir)/xsd/$(path)/time.hxx)
+ $(call install-data,$(src_base)/time.cxx,$(install_doc_dir)/xsd/$(path)/time.cxx)
+ $(call install-data,$(src_base)/gen.cxx,$(install_doc_dir)/xsd/$(path)/gen.cxx)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/polymorphism/makefile b/examples/cxx/tree/polymorphism/makefile
index dab8e43..002281b 100644
--- a/examples/cxx/tree/polymorphism/makefile
+++ b/examples/cxx/tree/polymorphism/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -46,11 +47,18 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/supermen.xsd,$(install_doc_dir)/xsd/$(path)/supermen.xsd)
+ $(call install-data,$(src_base)/supermen.xml,$(install_doc_dir)/xsd/$(path)/supermen.xml)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/streaming/makefile b/examples/cxx/tree/streaming/makefile
index 1a90662..5284f80 100644
--- a/examples/cxx/tree/streaming/makefile
+++ b/examples/cxx/tree/streaming/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -44,11 +45,22 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/parser.cxx,$(install_doc_dir)/xsd/$(path)/parser.cxx)
+ $(call install-data,$(src_base)/parser.hxx,$(install_doc_dir)/xsd/$(path)/parser.hxx)
+ $(call install-data,$(src_base)/serializer.cxx,$(install_doc_dir)/xsd/$(path)/serializer.cxx)
+ $(call install-data,$(src_base)/serializer.hxx,$(install_doc_dir)/xsd/$(path)/serializer.hxx)
+ $(call install-data,$(src_base)/position.xsd,$(install_doc_dir)/xsd/$(path)/position.xsd)
+ $(call install-data,$(src_base)/position.xml,$(install_doc_dir)/xsd/$(path)/position.xml)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/wildcard/makefile b/examples/cxx/tree/wildcard/makefile
index 153d689..a1dc61a 100644
--- a/examples/cxx/tree/wildcard/makefile
+++ b/examples/cxx/tree/wildcard/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -45,11 +46,18 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/email.xsd,$(install_doc_dir)/xsd/$(path)/email.xsd)
+ $(call install-data,$(src_base)/email.xml,$(install_doc_dir)/xsd/$(path)/email.xml)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)
diff --git a/examples/cxx/tree/xpath/makefile b/examples/cxx/tree/xpath/makefile
index 353a6a6..d6e2b64 100644
--- a/examples/cxx/tree/xpath/makefile
+++ b/examples/cxx/tree/xpath/makefile
@@ -12,6 +12,7 @@ obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o))
dep := $(obj:.o=.o.d)
driver := $(out_base)/driver
+install := $(out_base)/.install
dist := $(out_base)/.dist
dist-win := $(out_base)/.dist-win
clean := $(out_base)/.clean
@@ -23,7 +24,7 @@ $(call import,\
$(scf_root)/import/libxerces-c/stub.make,\
l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-ifeq ($(filter $(MAKECMDGOALS),dist dist-win),)
+ifeq ($(filter $(MAKECMDGOALS),dist dist-win install),)
$(call import,\
$(scf_root)/import/libxqilla/stub.make,\
l: xqilla.l,cpp-options: xqilla.l.cpp-options)
@@ -50,11 +51,20 @@ $(call include-dep,$(dep))
#
$(out_base)/: $(driver)
-# Dist.
+# Install & Dist.
#
dist-common := $(out_base)/.dist-common
-$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base))
+
+$(install):
+ $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README)
+ $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx)
+ $(call install-data,$(src_base)/driver-2.cxx,$(install_doc_dir)/xsd/$(path)/driver-2.cxx)
+ $(call install-data,$(src_base)/people.xsd,$(install_doc_dir)/xsd/$(path)/people.xsd)
+ $(call install-data,$(src_base)/people.xml,$(install_doc_dir)/xsd/$(path)/people.xml)
+ $(call install-data,$(src_base)/dom-parse.hxx,$(install_doc_dir)/xsd/$(path)/dom-parse.hxx)
+ $(call install-data,$(src_base)/dom-parse.cxx,$(install_doc_dir)/xsd/$(path)/dom-parse.cxx)
$(dist-common):
$(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx)