diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2011-11-16 10:59:14 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2011-11-16 10:59:14 +0200 |
commit | 7e704a7e6e57cf877614fd762d4667ef32be2eea (patch) | |
tree | 167f6059a5a935585499fc006886abc69a4df6c8 /build/bootstrap.make | |
parent | 9cce004234838754b8bd7776b4ed37686c9a17c2 (diff) |
Add build infrastructure, options file and exceptions implementation
Diffstat (limited to 'build/bootstrap.make')
-rw-r--r-- | build/bootstrap.make | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/build/bootstrap.make b/build/bootstrap.make new file mode 100644 index 0000000..40f62a1 --- /dev/null +++ b/build/bootstrap.make @@ -0,0 +1,72 @@ +# file : build/bootstrap.make +# author : Boris Kolpackov <boris@codesynthesis.com> +# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC +# license : ODB NCUEL; see accompanying LICENSE file + +project_name := libodb-mssql + +# First try to include the bundled bootstrap.make if it exist. If that +# fails, let make search for the external bootstrap.make. +# +build := build-0.3 + +-include $(dir $(lastword $(MAKEFILE_LIST)))../../$(build)/bootstrap.make + +ifeq ($(patsubst %build/bootstrap.make,,$(lastword $(MAKEFILE_LIST))),) +include $(build)/bootstrap.make +endif + + +# Aliases +# +.PHONY: $(out_base)/ \ + $(out_base)/.test \ + $(out_base)/.dist \ + $(out_base)/.clean + +ifdef %interactive% + +.PHONY: test dist clean + +test: $(out_base)/.test +dist: $(out_base)/.dist +clean: $(out_base)/.clean + +ifneq ($(filter $(.DEFAULT_GOAL),test dist clean),) +.DEFAULT_GOAL := +endif + +endif + +# Make sure the distribution prefix is set if the goal is dist. +# +ifneq ($(filter $(MAKECMDGOALS),dist),) +ifeq ($(dist_prefix),) +$(error dist_prefix is not set) +endif +endif + +# If we don't have dependency auto-generation then we need to manually +# make sure that generated files are generated before C++ file are +# compiler. To do this we make the object files ($2) depend in order- +# only on generated files ($3). +# +ifeq ($(cxx_id),generic) + +define include-dep +$(if $2,$(eval $2: | $3)) +endef + +else + +define include-dep +$(call -include,$1) +endef + +endif + +# Don't include dependency info for certain targets. +# +ifneq ($(filter $(MAKECMDGOALS),clean disfigure dist),) +include-dep = +endif |