summaryrefslogtreecommitdiff
path: root/dist/examples/cxx/tree/custom/taxonomy/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'dist/examples/cxx/tree/custom/taxonomy/makefile')
-rw-r--r--dist/examples/cxx/tree/custom/taxonomy/makefile38
1 files changed, 38 insertions, 0 deletions
diff --git a/dist/examples/cxx/tree/custom/taxonomy/makefile b/dist/examples/cxx/tree/custom/taxonomy/makefile
new file mode 100644
index 0000000..0d4f068
--- /dev/null
+++ b/dist/examples/cxx/tree/custom/taxonomy/makefile
@@ -0,0 +1,38 @@
+root := ../../../..
+
+include $(root)/build/cxx/rules.make
+include $(root)/build/xsd/tree-rules.make
+
+
+override XSDFLAGS += --generate-inline --generate-forward \
+--generate-polymorphic \
+--custom-type "person=person_impl<person_base>/person_base" \
+--custom-type "superman=superman_impl<superman_base>/superman_base" \
+--custom-type "batman=batman_impl<batman_base>/batman_base" \
+--fwd-prologue '\#include "people-custom-fwd.hxx"' \
+--hxx-prologue '\#include "people-custom.hxx"'
+
+
+# Build.
+#
+driver: driver.o people.o people-custom.o
+
+people.o: people.cxx people.ixx people.hxx people-custom.hxx people-custom-fwd.hxx
+driver.o: driver.cxx people.ixx people.hxx people-custom.hxx people-custom-fwd.hxx
+people-custom.o: people-custom.cxx people.ixx people.hxx people-custom.hxx people-custom-fwd.hxx
+
+people.cxx people.ixx people.hxx people-fwd.hxx: people.xsd
+
+
+# Test
+#
+.PHONY: test
+test: driver people.xml
+ ./driver people.xml
+
+
+# Clean.
+#
+.PHONY: clean
+clean:
+ rm -f people-custom.o people.o people-fwd.hxx people.?xx driver.o driver