diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2009-09-29 08:21:40 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2009-09-29 08:21:40 +0200 |
commit | 649df540e853838c51167c8cf02b17fc65fc807d (patch) | |
tree | 216c12f4ad75138bca1d128c47c911355e2d05a3 /makefile | |
parent | 4f9bd5a46df045f9bd5774125233cf4ac11ae184 (diff) |
New, makefile-based bundled build implementation
Diffstat (limited to 'makefile')
-rw-r--r-- | makefile | 72 |
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 |