diff options
Diffstat (limited to 'xsd/build/bootstrap.make')
-rw-r--r-- | xsd/build/bootstrap.make | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/xsd/build/bootstrap.make b/xsd/build/bootstrap.make new file mode 100644 index 0000000..56c20b3 --- /dev/null +++ b/xsd/build/bootstrap.make @@ -0,0 +1,102 @@ +# file : build/bootstrap.make +# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC +# license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +project_name := xsd + +# 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 + +def_goal := $(.DEFAULT_GOAL) + +# Configuration +# +$(call include,$(scf_root)/configuration.make) + +# Include C++ configuration. We need to know if we are using the generic +# C++ compiler in which case we need to compensate for missing dependency +# auto-generation (see below). +# +$(call include,$(bld_root)/cxx/configuration.make) + +# Aliases +# +.PHONY: $(out_base)/ \ + $(out_base)/.test \ + $(out_base)/.install \ + $(out_base)/.dist \ + $(out_base)/.dist-win \ + $(out_base)/.dist-common \ + $(out_base)/.clean + +ifdef %interactive% + +.PHONY: test install dist dist-win clean + +test: $(out_base)/.test +install: $(out_base)/.install +dist: $(out_base)/.dist +dist-win: $(out_base)/.dist-win +clean: $(out_base)/.clean + +endif + + +# Make sure the distribution prefix is set if the goal is dist or dist-win. +# +ifneq ($(filter $(MAKECMDGOALS),dist dist-win),) +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),) +include-dep = +endif + + +# For dist, install don't include dependencies in examples, and tests +# since we might be cross-compiling. +# +ifneq ($(filter $(MAKECMDGOALS),dist dist-win install),) + +ifneq ($(subst $(src_root)/tests/,,$(src_base)),$(src_base)) +include-dep = +endif + +ifneq ($(subst $(src_root)/examples/,,$(src_base)),$(src_base)) +include-dep = +endif + +endif + +.DEFAULT_GOAL := $(def_goal) |