From 3c853bc264719437bcb2807d75ff5e9f9a3ea4f8 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 22 Sep 2009 14:40:53 +0200 Subject: Add distribution-specific files, dist and dist-win targets --- examples/cxx/tree/custom/calendar/makefile | 28 ++++++++++++++++++++-- examples/cxx/tree/custom/comments/makefile | 28 ++++++++++++++++++++-- examples/cxx/tree/custom/contacts/makefile | 26 ++++++++++++++++++-- examples/cxx/tree/custom/double/makefile | 25 ++++++++++++++++++-- examples/cxx/tree/custom/makefile | 38 +++++++++++++++++++++++------- examples/cxx/tree/custom/taxonomy/makefile | 28 ++++++++++++++++++++-- examples/cxx/tree/custom/wildcard/makefile | 27 +++++++++++++++++++-- 7 files changed, 180 insertions(+), 20 deletions(-) (limited to 'examples/cxx/tree/custom') diff --git a/examples/cxx/tree/custom/calendar/makefile b/examples/cxx/tree/custom/calendar/makefile index 129333f..ada22c0 100644 --- a/examples/cxx/tree/custom/calendar/makefile +++ b/examples/cxx/tree/custom/calendar/makefile @@ -11,8 +11,10 @@ cxx := driver.cxx xml-schema-custom.cxx obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) dep := $(obj:.o=.o.d) -driver := $(out_base)/driver -clean := $(out_base)/.clean +driver := $(out_base)/driver +dist := $(out_base)/.dist +dist-win := $(out_base)/.dist-win +clean := $(out_base)/.clean # Import. @@ -21,9 +23,11 @@ $(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),) $(call import,\ $(scf_root)/import/libboost/date-time/stub.make,\ l: boost_date_time.l,cpp-options: boost_date_time.l.cpp-options) +endif # Build. # @@ -63,6 +67,25 @@ $(call include-dep,$(dep)) .PHONY: $(out_base)/ $(out_base)/: $(driver) +# Dist. +# +dist-common := $(out_base)/.dist-common + +$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) + +$(dist-common): + $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) + $(call install-data,$(src_base)/calendar.xsd,$(dist_prefix)/$(path)/calendar.xsd) + $(call install-data,$(src_base)/calendar.xml,$(dist_prefix)/$(path)/calendar.xml) + $(call install-data,$(src_base)/xml-schema-custom.hxx,$(dist_prefix)/$(path)/xml-schema-custom.hxx) + $(call install-data,$(src_base)/xml-schema-custom.cxx,$(dist_prefix)/$(path)/xml-schema-custom.cxx) + +$(dist): $(dist-common) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) + +$(dist-win): $(dist-common) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) + $(call message,,unix2dos $(dist_prefix)/$(path)/README.txt) # Clean. # @@ -91,6 +114,7 @@ endif $(call include,$(bld_root)/cxx/o-e.make) $(call include,$(bld_root)/cxx/cxx-o.make) $(call include,$(bld_root)/cxx/cxx-d.make) +$(call include,$(bld_root)/install.make) $(call include,$(scf_root)/xsd/tree/xsd-cxx.make) # Dependencies. diff --git a/examples/cxx/tree/custom/comments/makefile b/examples/cxx/tree/custom/comments/makefile index f1074ec..d79e78c 100644 --- a/examples/cxx/tree/custom/comments/makefile +++ b/examples/cxx/tree/custom/comments/makefile @@ -11,8 +11,10 @@ cxx := driver.cxx xml-schema-custom.cxx dom-parse.cxx obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) dep := $(obj:.o=.o.d) -driver := $(out_base)/driver -clean := $(out_base)/.clean +driver := $(out_base)/driver +dist := $(out_base)/.dist +dist-win := $(out_base)/.dist-win +clean := $(out_base)/.clean # Import. @@ -57,6 +59,27 @@ $(call include-dep,$(dep)) .PHONY: $(out_base)/ $(out_base)/: $(driver) +# Dist. +# +dist-common := $(out_base)/.dist-common + +$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) + +$(dist-common): + $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) + $(call install-data,$(src_base)/people.xsd,$(dist_prefix)/$(path)/people.xsd) + $(call install-data,$(src_base)/people.xml,$(dist_prefix)/$(path)/people.xml) + $(call install-data,$(src_base)/xml-schema-custom.hxx,$(dist_prefix)/$(path)/xml-schema-custom.hxx) + $(call install-data,$(src_base)/xml-schema-custom.cxx,$(dist_prefix)/$(path)/xml-schema-custom.cxx) + $(call install-data,$(src_base)/dom-parse.hxx,$(dist_prefix)/$(path)/dom-parse.hxx) + $(call install-data,$(src_base)/dom-parse.cxx,$(dist_prefix)/$(path)/dom-parse.cxx) + +$(dist): $(dist-common) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) + +$(dist-win): $(dist-common) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) + $(call message,,unix2dos $(dist_prefix)/$(path)/README.txt) # Clean. # @@ -85,6 +108,7 @@ endif $(call include,$(bld_root)/cxx/o-e.make) $(call include,$(bld_root)/cxx/cxx-o.make) $(call include,$(bld_root)/cxx/cxx-d.make) +$(call include,$(bld_root)/install.make) $(call include,$(scf_root)/xsd/tree/xsd-cxx.make) # Dependencies. diff --git a/examples/cxx/tree/custom/contacts/makefile b/examples/cxx/tree/custom/contacts/makefile index d4ddbe5..8483f42 100644 --- a/examples/cxx/tree/custom/contacts/makefile +++ b/examples/cxx/tree/custom/contacts/makefile @@ -11,8 +11,10 @@ cxx := driver.cxx contacts-custom.cxx obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) dep := $(obj:.o=.o.d) -driver := $(out_base)/driver -clean := $(out_base)/.clean +driver := $(out_base)/driver +dist := $(out_base)/.dist +dist-win := $(out_base)/.dist-win +clean := $(out_base)/.clean # Import. @@ -51,6 +53,25 @@ $(call include-dep,$(dep)) .PHONY: $(out_base)/ $(out_base)/: $(driver) +# Dist. +# +dist-common := $(out_base)/.dist-common + +$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) + +$(dist-common): + $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) + $(call install-data,$(src_base)/contacts.xsd,$(dist_prefix)/$(path)/contacts.xsd) + $(call install-data,$(src_base)/contacts.xml,$(dist_prefix)/$(path)/contacts.xml) + $(call install-data,$(src_base)/contacts-custom.hxx,$(dist_prefix)/$(path)/contacts-custom.hxx) + $(call install-data,$(src_base)/contacts-custom.cxx,$(dist_prefix)/$(path)/contacts-custom.cxx) + +$(dist): $(dist-common) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) + +$(dist-win): $(dist-common) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) + $(call message,,unix2dos $(dist_prefix)/$(path)/README.txt) # Clean. # @@ -78,6 +99,7 @@ endif $(call include,$(bld_root)/cxx/o-e.make) $(call include,$(bld_root)/cxx/cxx-o.make) $(call include,$(bld_root)/cxx/cxx-d.make) +$(call include,$(bld_root)/install.make) $(call include,$(scf_root)/xsd/tree/xsd-cxx.make) # Dependencies. diff --git a/examples/cxx/tree/custom/double/makefile b/examples/cxx/tree/custom/double/makefile index e8bec43..0e1ed1d 100644 --- a/examples/cxx/tree/custom/double/makefile +++ b/examples/cxx/tree/custom/double/makefile @@ -11,8 +11,10 @@ cxx := driver.cxx double-custom.cxx obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) dep := $(obj:.o=.o.d) -driver := $(out_base)/driver -clean := $(out_base)/.clean +driver := $(out_base)/driver +dist := $(out_base)/.dist +dist-win := $(out_base)/.dist-win +clean := $(out_base)/.clean # Import. @@ -52,6 +54,24 @@ $(call include-dep,$(dep)) .PHONY: $(out_base)/ $(out_base)/: $(driver) +# Dist. +# +dist-common := $(out_base)/.dist-common + +$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) + +$(dist-common): + $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) + $(call install-data,$(src_base)/order.xsd,$(dist_prefix)/$(path)/order.xsd) + $(call install-data,$(src_base)/double-custom.hxx,$(dist_prefix)/$(path)/double-custom.hxx) + $(call install-data,$(src_base)/double-custom.cxx,$(dist_prefix)/$(path)/double-custom.cxx) + +$(dist): $(dist-common) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) + +$(dist-win): $(dist-common) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) + $(call message,,unix2dos $(dist_prefix)/$(path)/README.txt) # Clean. # @@ -80,6 +100,7 @@ endif $(call include,$(bld_root)/cxx/o-e.make) $(call include,$(bld_root)/cxx/cxx-o.make) $(call include,$(bld_root)/cxx/cxx-d.make) +$(call include,$(bld_root)/install.make) $(call include,$(scf_root)/xsd/tree/xsd-cxx.make) # Dependencies. diff --git a/examples/cxx/tree/custom/makefile b/examples/cxx/tree/custom/makefile index c29fd03..961916e 100644 --- a/examples/cxx/tree/custom/makefile +++ b/examples/cxx/tree/custom/makefile @@ -5,18 +5,40 @@ include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make -examples := comments contacts double taxonomy wildcard +all_examples := comments contacts double taxonomy wildcard calendar +build_examples := comments contacts double taxonomy wildcard ifeq ($(xsd_with_boost_date_time),y) -examples += calendar +build_examples += calendar endif -default := $(out_base)/ -clean := $(out_base)/.clean +default := $(out_base)/ +dist := $(out_base)/.dist +dist-win := $(out_base)/.dist-win +clean := $(out_base)/.clean -.PHONY: $(default) $(clean) +# Build. +# +$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_examples))) -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(examples))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(examples))) +# Dist. +# +$(dist) $(dist-win): path := $(subst $(src_root)/,,$(src_base)) + +$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_examples))) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) + +$(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(all_examples))) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) + $(call message,,unix2dos $(dist_prefix)/$(path)/README.txt) + +# Clean. +# +$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(build_examples))) + +ifneq ($(filter $(MAKECMDGOALS),dist dist-win),) +$(foreach e,$(all_examples),$(call import,$(src_base)/$e/makefile)) +else +$(foreach e,$(build_examples),$(call import,$(src_base)/$e/makefile)) +endif -$(foreach e,$(examples),$(call import,$(src_base)/$e/makefile)) diff --git a/examples/cxx/tree/custom/taxonomy/makefile b/examples/cxx/tree/custom/taxonomy/makefile index 02ea144..26e27cf 100644 --- a/examples/cxx/tree/custom/taxonomy/makefile +++ b/examples/cxx/tree/custom/taxonomy/makefile @@ -11,8 +11,10 @@ cxx := driver.cxx people-custom.cxx obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) dep := $(obj:.o=.o.d) -driver := $(out_base)/driver -clean := $(out_base)/.clean +driver := $(out_base)/driver +dist := $(out_base)/.dist +dist-win := $(out_base)/.dist-win +clean := $(out_base)/.clean # Import. @@ -56,6 +58,27 @@ $(call include-dep,$(dep)) .PHONY: $(out_base)/ $(out_base)/: $(driver) +# Dist. +# +dist-common := $(out_base)/.dist-common + +$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) + +$(dist-common): + $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) + $(call install-data,$(src_base)/people.xsd,$(dist_prefix)/$(path)/people.xsd) + $(call install-data,$(src_base)/people.xml,$(dist_prefix)/$(path)/people.xml) + $(call install-data,$(src_base)/people-custom.hxx,$(dist_prefix)/$(path)/people-custom.hxx) + $(call install-data,$(src_base)/people-custom.cxx,$(dist_prefix)/$(path)/people-custom.cxx) + $(call install-data,$(src_base)/people-custom-fwd.hxx,$(dist_prefix)/$(path)/people-custom-fwd.hxx) + +$(dist): $(dist-common) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) + +$(dist-win): $(dist-common) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) + $(call message,,unix2dos $(dist_prefix)/$(path)/README.txt) + # Clean. # @@ -83,6 +106,7 @@ endif $(call include,$(bld_root)/cxx/o-e.make) $(call include,$(bld_root)/cxx/cxx-o.make) $(call include,$(bld_root)/cxx/cxx-d.make) +$(call include,$(bld_root)/install.make) $(call include,$(scf_root)/xsd/tree/xsd-cxx.make) # Dependencies. diff --git a/examples/cxx/tree/custom/wildcard/makefile b/examples/cxx/tree/custom/wildcard/makefile index 49c5306..a813d27 100644 --- a/examples/cxx/tree/custom/wildcard/makefile +++ b/examples/cxx/tree/custom/wildcard/makefile @@ -11,8 +11,10 @@ cxx := driver.cxx wildcard-custom.cxx obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) dep := $(obj:.o=.o.d) -driver := $(out_base)/driver -clean := $(out_base)/.clean +driver := $(out_base)/driver +dist := $(out_base)/.dist +dist-win := $(out_base)/.dist-win +clean := $(out_base)/.clean # Import. @@ -53,6 +55,26 @@ $(call include-dep,$(dep)) .PHONY: $(out_base)/ $(out_base)/: $(driver) +# Dist. +# +dist-common := $(out_base)/.dist-common + +$(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) + +$(dist-common): + $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) + $(call install-data,$(src_base)/wildcard.xsd,$(dist_prefix)/$(path)/wildcard.xsd) + $(call install-data,$(src_base)/wildcard.xml,$(dist_prefix)/$(path)/wildcard.xml) + $(call install-data,$(src_base)/wildcard-custom.hxx,$(dist_prefix)/$(path)/wildcard-custom.hxx) + $(call install-data,$(src_base)/wildcard-custom.cxx,$(dist_prefix)/$(path)/wildcard-custom.cxx) + +$(dist): $(dist-common) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) + +$(dist-win): $(dist-common) + $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) + $(call message,,unix2dos $(dist_prefix)/$(path)/README.txt) + # Clean. # @@ -80,6 +102,7 @@ endif $(call include,$(bld_root)/cxx/o-e.make) $(call include,$(bld_root)/cxx/cxx-o.make) $(call include,$(bld_root)/cxx/cxx-d.make) +$(call include,$(bld_root)/install.make) $(call include,$(scf_root)/xsd/tree/xsd-cxx.make) # Dependencies. -- cgit v1.1