summaryrefslogtreecommitdiff
path: root/xsd/dist/examples/build/xsd
diff options
context:
space:
mode:
Diffstat (limited to 'xsd/dist/examples/build/xsd')
-rw-r--r--xsd/dist/examples/build/xsd/common.make11
-rw-r--r--xsd/dist/examples/build/xsd/parser-rules.make23
-rw-r--r--xsd/dist/examples/build/xsd/tree-rules.make15
3 files changed, 49 insertions, 0 deletions
diff --git a/xsd/dist/examples/build/xsd/common.make b/xsd/dist/examples/build/xsd/common.make
new file mode 100644
index 0000000..d82cbfb
--- /dev/null
+++ b/xsd/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-2010 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/xsd/dist/examples/build/xsd/parser-rules.make b/xsd/dist/examples/build/xsd/parser-rules.make
new file mode 100644
index 0000000..8da4fc6
--- /dev/null
+++ b/xsd/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-2010 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/xsd/dist/examples/build/xsd/tree-rules.make b/xsd/dist/examples/build/xsd/tree-rules.make
new file mode 100644
index 0000000..0ea6990
--- /dev/null
+++ b/xsd/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-2010 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) $<