aboutsummaryrefslogtreecommitdiff
path: root/makefile
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2009-09-29 08:21:40 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2009-09-29 08:21:40 +0200
commit649df540e853838c51167c8cf02b17fc65fc807d (patch)
tree216c12f4ad75138bca1d128c47c911355e2d05a3 /makefile
parent4f9bd5a46df045f9bd5774125233cf4ac11ae184 (diff)
New, makefile-based bundled build implementation
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..85c41fb
--- /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)/xsde/xsde/
+
+# Test.
+#
+test: $(out_base)/xsde/.test
+
+# Install.
+#
+install: $(out_base)/xsde/.install
+
+# Clean.
+#
+clean: $(out_base)/libcult/.clean \
+ $(out_base)/libfrontend-elements/.clean \
+ $(out_base)/libbackend-elements/.clean \
+ $(out_base)/libxsd-frontend/.clean \
+ $(out_base)/xsde/.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)/xsde
+scf_root := $(src_root)/build
+out_root := $(src_root)
+
+ifneq ($(filter $(MAKECMDGOALS),clean test install),)
+$(call import,$(src_base)/xsde/makefile)
+else
+$(call import,$(src_base)/xsde/xsde/makefile)
+endif