diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2009-09-29 07:40:03 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2009-09-29 07:40:03 +0200 |
commit | c27f87feece2a8fb078c3b885fee64058949d016 (patch) | |
tree | c7a8ac2ca69e96b88c2d0359b1a04871c4883f8d /makefile | |
parent | 5bac93f5b37f6ae091e63aefd0f2da4def0dfd49 (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..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 |