summaryrefslogtreecommitdiff
path: root/xsd/dist/examples/cxx/tree/custom/taxonomy/makefile
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2025-05-02 07:42:02 +0200
committerJörg Frings-Fürst <debian@jff.email>2025-05-02 07:42:02 +0200
commitfc486627a4ecbae797fa6856d8a9204ea85f4db8 (patch)
treeff3dae4c0e5d980d8e2da4fc6256ae839269bbcd /xsd/dist/examples/cxx/tree/custom/taxonomy/makefile
parent1c188393cd2e271ed2581471b601fb5960777fd8 (diff)
parentecba0bbd9947036dd82f16ab95252f8db445e149 (diff)
Merge tag 'debian/4.0.0-10' into developdevelop
Bugfix release
Diffstat (limited to 'xsd/dist/examples/cxx/tree/custom/taxonomy/makefile')
-rw-r--r--xsd/dist/examples/cxx/tree/custom/taxonomy/makefile39
1 files changed, 39 insertions, 0 deletions
diff --git a/xsd/dist/examples/cxx/tree/custom/taxonomy/makefile b/xsd/dist/examples/cxx/tree/custom/taxonomy/makefile
new file mode 100644
index 0000000..11fa6ef
--- /dev/null
+++ b/xsd/dist/examples/cxx/tree/custom/taxonomy/makefile
@@ -0,0 +1,39 @@
+root := ../../../..
+
+include $(root)/build/cxx/rules.make
+include $(root)/build/xsd/tree-rules.make
+
+
+override XSDFLAGS += --generate-inline --generate-forward \
+--generate-polymorphic \
+--polymorphic-type person \
+--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