aboutsummaryrefslogtreecommitdiff
path: root/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'makefile')
-rw-r--r--makefile72
1 files changed, 72 insertions, 0 deletions
diff --git a/makefile b/makefile
new file mode 100644
index 0000000..74722c0
--- /dev/null
+++ b/makefile
@@ -0,0 +1,72 @@
+# file : makefile
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009 Code Synthesis Tools CC
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+include $(dir $(lastword $(MAKEFILE_LIST)))/build-0.3/bootstrap.make
+
+default := $(out_base)/
+
+.PHONY: $(default) test install clean
+
+# Build.
+#
+$(default): $(out_base)/xsd/xsd/
+
+# Test.
+#
+test: $(out_base)/xsd/.test
+
+# Install.
+#
+install: $(out_base)/xsd/.install
+
+# Clean.
+#
+clean: $(out_base)/libcult/.clean \
+ $(out_base)/libfrontend-elements/.clean \
+ $(out_base)/libbackend-elements/.clean \
+ $(out_base)/libxsd-frontend/.clean \
+ $(out_base)/xsd/.clean
+
+# Reset pattern-specific variables because GNU make will use the
+# first match instead of the most specific match. Here out_root
+# and out_base are the same.
+#
+$(out_root)/%: out_root :=
+$(out_root)/%: out_base :=
+$(out_root)/%: src_root :=
+$(out_root)/%: src_base :=
+$(out_root)/%: scf_root :=
+$(out_root)/%: dcf_root :=
+$(out_root)/%: project_name :=
+
+src_root := $(src_base)/libcult
+scf_root := $(src_root)/build
+out_root := $(src_root)
+$(call import,$(src_base)/libcult/makefile)
+
+src_root := $(src_base)/libfrontend-elements
+scf_root := $(src_root)/build
+out_root := $(src_root)
+$(call import,$(src_base)/libfrontend-elements/makefile)
+
+src_root := $(src_base)/libbackend-elements
+scf_root := $(src_root)/build
+out_root := $(src_root)
+$(call import,$(src_base)/libbackend-elements/makefile)
+
+src_root := $(src_base)/libxsd-frontend
+scf_root := $(src_root)/build
+out_root := $(src_root)
+$(call import,$(src_base)/libxsd-frontend/makefile)
+
+src_root := $(src_base)/xsd
+scf_root := $(src_root)/build
+out_root := $(src_root)
+
+ifneq ($(filter $(MAKECMDGOALS),clean test install),)
+$(call import,$(src_base)/xsd/makefile)
+else
+$(call import,$(src_base)/xsd/xsd/makefile)
+endif