summaryrefslogtreecommitdiff
path: root/dist/examples/build/xsd
diff options
context:
space:
mode:
Diffstat (limited to 'dist/examples/build/xsd')
-rw-r--r--dist/examples/build/xsd/common.make11
-rw-r--r--dist/examples/build/xsd/parser-rules.make23
-rw-r--r--dist/examples/build/xsd/tree-rules.make15
3 files changed, 49 insertions, 0 deletions
diff --git a/dist/examples/build/xsd/common.make b/dist/examples/build/xsd/common.make
new file mode 100644
index 0000000..dd65987
--- /dev/null
+++ b/dist/examples/build/xsd/common.make
@@ -0,0 +1,11 @@
+# file : examples/build/xsd/common.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2006 Code Synthesis Tools CC
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+XSD := $(shell if test -x $(root)/../bin/xsd; \
+ then echo $(root)/../bin/xsd; \
+ else echo xsd; fi)
+
+override CPPFLAGS += $(shell if test -d $(root)/../libxsd; \
+ then echo -I$(root)/../libxsd; fi)
diff --git a/dist/examples/build/xsd/parser-rules.make b/dist/examples/build/xsd/parser-rules.make
new file mode 100644
index 0000000..dd5f9aa
--- /dev/null
+++ b/dist/examples/build/xsd/parser-rules.make
@@ -0,0 +1,23 @@
+# file : examples/build/xsd/parser-rules.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2006 Code Synthesis Tools CC
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+include $(root)/build/xsd/common.make
+
+XML_PARSER := xerces
+
+ifeq ($(XML_PARSER),xerces)
+override LIBS := -lxerces-c $(LIBS)
+else
+override LIBS := -lexpat $(LIBS)
+endif
+
+override XSDFLAGS += --xml-parser $(XML_PARSER)
+
+# Rules.
+#
+.PRECIOUS: %-pskel.hxx %-pskel.ixx %-pskel.cxx
+
+%-pskel.hxx %-pskel.ixx %-pskel.cxx: %.xsd
+ $(XSD) cxx-parser $(XSDFLAGS) $<
diff --git a/dist/examples/build/xsd/tree-rules.make b/dist/examples/build/xsd/tree-rules.make
new file mode 100644
index 0000000..3c90af7
--- /dev/null
+++ b/dist/examples/build/xsd/tree-rules.make
@@ -0,0 +1,15 @@
+# file : examples/build/xsd/tree-rules.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2006 Code Synthesis Tools CC
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+include $(root)/build/xsd/common.make
+
+override LIBS := -lxerces-c $(LIBS)
+
+# Rules.
+#
+.PRECIOUS: %.cxx %.hxx %.ixx
+
+%.cxx %.hxx %.ixx: %.xsd
+ $(XSD) cxx-tree $(XSDFLAGS) $<