summaryrefslogtreecommitdiff
path: root/build-0.3/bootstrap.make
diff options
context:
space:
mode:
Diffstat (limited to 'build-0.3/bootstrap.make')
-rw-r--r--build-0.3/bootstrap.make385
1 files changed, 0 insertions, 385 deletions
diff --git a/build-0.3/bootstrap.make b/build-0.3/bootstrap.make
deleted file mode 100644
index 44eb57e..0000000
--- a/build-0.3/bootstrap.make
+++ /dev/null
@@ -1,385 +0,0 @@
-# file : build/bootstrap.make
-# copyright : Copyright (c) 2004-2012 Code Synthesis Tools CC
-# license : GNU GPL v2; see accompanying LICENSE file
-
-# First time bootstrap.make is read
-#
-ifndef %makefile%
-
-# Configure make.
-#
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-#
-.DELETE_ON_ERROR:
-
-# Remove all built-in rules.
-#
-.SUFFIXES:
-
-ifeq ($(filter -r,$(MAKEFLAGS)),)
-MAKEFLAGS += -r
-endif
-
-
-# Disable implicit phony misfeature.
-#
-#ifeq ($(filter --no-implicit-phony,$(MAKEFLAGS)),)
-#MAKEFLAGS += --no-implicit-phony
-#endif
-
-# Enable second expansion.
-#
-.SECONDEXPANSION:
-
-# Force target. Used to force rule executions.
-#
-.PHONY: FORCE
-
-
-# Export variables that could be useful for configuration scripts.
-#
-export bld_root
-export MAKE
-
-%replica% :=
-%foreign% :=
-%interactive% := t
-
-# List of realpath'ed include-once files.
-#
-%included_files% :=
-
-#$(warning init %included_files%: $(%included_files%))
-
-# @@ maybe I should set makefile to bootstrap and restore it at the end.
-# This way I will be able to use %makefile% below (instead of _self) and
-# also it will be consistent.
-#
-
-# By convention, the makefile name is the second or third last word from
-# the end. If it is the third, then the second one should be end with
-# bootstrap.make
-#
-%makefile% := $(subst $(lastword $(MAKEFILE_LIST)),,$(MAKEFILE_LIST))
-ifneq ($(filter %bootstrap.make,$(lastword $(%makefile%))),)
-%makefile% := $(subst $(lastword $(%makefile%)),,$(%makefile%))
-endif
-%makefile% := $(abspath $(lastword $(%makefile%)))
-
-%makefile_realpath% := $(realpath $(%makefile%))
-
-
-#
-# include facility
-#
-
-# Execute makefile search algorithm. Return abspath of the makefile if found
-# and empty string otherwise.
-#
-%frame_exclude% += include-find-makefile
-define include-find-makefile
-$(if $(wildcard $1),\
-$(abspath $1),\
-$(if $(filter-out /%,$1),\
-$(call include-search-dirs,$1,$(.INCLUDE_DIRS))))
-endef
-
-# Search for $1 in the list of directoris $2
-#
-%frame_exclude% += include-search-dirs
-define include-search-dirs
-$(if $(strip $2),\
-$(if $(wildcard $(firstword $2)/$1),\
-$(abspath $(firstword $2)/$1),\
-$(call include-search-dirs,$1,$(wordlist 2,$(words $2),$2))))
-endef
-
-# Test if $1 is a 'foreign' makefile, i.e., does not reside in
-# src_root, out_root, or bld_root. Use shadows for src and out
-# roots to catch cases where these were reset before inclusion.
-# This happens in import stubs.
-#
-%frame_exclude% += include-test-foreign
-define include-test-foreign
-$(if $(%foreign%),t,$(if $(filter $(bld_root)/% $(src_root_shadow)/% $(out_root_shadow)/%,$1),,t))
-endef
-
-%frame_exclude% += include-body
-define include-body
-%interactive% :=
-%makefile% := $(call include-find-makefile,$2)
-%makefile_realpath% := $$(realpath $$(%makefile%))
-%foreign% := $$(call include-test-foreign,$$(%makefile%))
-
-$1 $$(if $$(%makefile%),$$(%makefile%),$2)
-
-%makefile_realpath% := $3
-%makefile% := $4
-%interactive% := $5
-%foreign% := $6
-endef
-
-%frame_exclude% += include
-define include
-$(eval $(foreach f,$1,\
- $(call include-body,\
- include,$f,$(%makefile_realpath%),$(%makefile%),$(%interactive%),$(%foreign%))))
-endef
-
-%frame_exclude% += -include
-define -include
-$(eval $(foreach f,$1,\
- $(call include-body,\
- -include,$f,$(%makefile_realpath%),$(%makefile%),$(%interactive%),$(%foreign%))))
-endef
-
-
-#
-# include-once
-#
-
-# This one simply delegates to the include directive to get the
-# error message.
-#
-# $1 : include/-include
-# $2 : file
-#
-%frame_exclude% += include-once-failed-body
-define include-once-failed-body
-$1 $2
-endef
-
-#
-# $1 : include/-include
-# $2 : file
-#
-%frame_exclude% += include-once-file-body
-define include-once-file-body
-%interactive% :=
-%makefile% := $2
-%makefile_realpath% := $(realpath $2)
-%foreign% := $$(call include-test-foreign,$$(%makefile%))
-
-%included_files% += $$(%makefile_realpath%)
-
-$1 $2
-
-%makefile_realpath% := $3
-%makefile% := $4
-%interactive% := $5
-%foreign% := $6
-endef
-
-
-%frame_exclude% += include-once-file-filter
-define include-once-file-filter
-$(if $(filter $(realpath $2),$(%included_files%)),,\
- $(call include-once-file-body,\
- $1,$2,$(%makefile_realpath%),$(%makefile%),$(%interactive%),$(%foreign%)))
-endef
-
-#
-# $1 : include/-include
-# $2 : file
-# $6 : value
-#
-
-%frame_exclude% += include-once-value-body
-define include-once-value-body
-%interactive% :=
-%makefile% := $2
-%makefile_realpath% := $(realpath $2)
-%foreign% := $$(call include-test-foreign,$$(%makefile%))
-
-%include_once_$$(%makefile_realpath%)% += $7
-
-$1 $2
-
-%makefile_realpath% := $3
-%makefile% := $4
-%interactive% := $5
-%foreign% := $6
-endef
-
-
-%frame_exclude% += include-once-value-filter
-define include-once-value-filter
-$(if $(filter $3,$(value %include_once_$(realpath $2)%)),,\
- $(call include-once-value-body,\
- $1,$2,$(%makefile_realpath%),$(%makefile%),$(%interactive%),$(%foreign%),$3))
-endef
-
-
-# $1 - include/-include
-# $2 - abspath or empty if not found
-# $3 - orginal path
-# $4 - value [optional]
-#
-%frame_exclude% += include-once-filter
-define include-once-filter
-$(if $2,\
-$(if $4,\
-$(call include-once-value-filter,$1,$2,$4),\
-$(call include-once-file-filter,$1,$2)),\
-$(call include-once-failed-body,$1,$3))
-endef
-
-%frame_exclude% += include-once
-define include-once
-$(eval $(call include-once-filter,\
-include,$(call include-find-makefile,$1),$1,$(strip $2)))
-endef
-
-%frame_exclude% += -include-once
-define -include-once
-$(eval $(call include-once-filter,\
--include,$(call include-find-makefile,$1),$1,$(strip $2)))
-endef
-
-
-#$(warning include facility is up)
-
-endif # %makefile%
-
-#
-#
-bld_root := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
-
-
-# initialize {src,out}_{root,base}
-#
-%frame_exclude% += find-bootstrap-base
-define find-bootstrap-base
-$(if $(findstring $(abspath $(lastword $1)),$(%makefile%)),$2,\
-$(call find-bootstrap-base,\
-$(wordlist 1,$(words $(wordlist 2,$(words $1),$1)),$1),\
-$(lastword $1)))
-endef
-
-src_root := $(abspath $(dir $(call find-bootstrap-base,$(MAKEFILE_LIST)))..)
-src_base := $(abspath $(dir $(%makefile%)))
-
-ifneq ($(src_root),$(src_base))
-
-# In recursive make invocation, out_root may come from the environment
-# in which case we need to override it.
-#
-ifneq ($(origin out_root),file)
- out_root := $(abspath $(patsubst \
- %$(subst $(src_root)/,,$(src_base)),%,$(CURDIR)))
-endif
-
-out_base := $(out_root)/$(subst $(src_root)/,,$(src_base))
-
-else
-
-# In recursive make invocation, out_root may come from the environment
-# in which case we need to override it.
-#
-ifneq ($(origin out_root),file)
- out_root := $(abspath $(CURDIR))
-endif
-
-out_base := $(out_root)
-
-endif
-
-scf_root := $(src_root)/build
-dcf_root := $(out_root)/build
-
-src_root_shadow := $(src_root)
-out_root_shadow := $(out_root)
-
-$(out_root)/%: export out_root := $(out_root)
-$(out_root)/%: export src_root := $(src_root)
-$(out_root)/%: export scf_root := $(scf_root)
-$(out_root)/%: export dcf_root := $(dcf_root)
-$(out_root)/%: export project_name := $(project_name)
-
-# @@ Why do I need out_root here?
-#
-$(out_base)/%: out_root := $(out_root)
-$(out_base)/%: export out_base := $(out_base)
-$(out_base)/%: export src_base := $(src_base)
-
-ifdef build_debug
-
-$(warning "bld root: $(bld_root)")
-$(warning "scf root: $(scf_root)")
-$(warning "dcf root: $(dcf_root)")
-$(warning "src root: $(src_root)")
-$(warning "src base: $(src_base)")
-$(warning "out root: $(out_root)")
-$(warning "out base: $(out_base)")
-
-endif
-
-#$(warning paths are set)
-
-# frame facility
-#
-$(call include-once,$(bld_root)/frame.make)
-
-# import facility
-#
-$(call include-once,$(bld_root)/import.make)
-
-# Load some common facilities.
-#
-$(call include-once,$(bld_root)/literals.make)
-$(call include-once,$(bld_root)/message.make)
-$(call include-once,$(bld_root)/dir.make)
-
-
-# Static configuration.
-#
-$(call include,$(bld_root)/configuration-static.make)
-
-ifneq ($(bld_root),$(scf_root))
-$(call -include,$(scf_root)/configuration-static.make)
-endif
-
-# `disfigure' target.
-#
-.PHONY: disfigure
-.PHONY: $(dcf_root)/.disfigure $(out_root)/.disfigure
-
-disfigure:: $(build_absolute_clean_target)
-disfigure:: $(dcf_root)/.disfigure
-disfigure:: $(out_root)/.disfigure
-
-ifneq ($(out_root),$(out_base))
-.PHONY: $(out_base)/.disfigure
-$(out_root)/.disfigure:: $(out_base)/.disfigure
-endif
-
-# Clean up generated makefiles.
-#
-ifndef %foreign%
-ifneq ($(out_root),$(src_root))
-$(out_base)/.disfigure::
- $(call message, rm $$1,rm -f $$1,$(out_base)/makefile)
-endif
-endif
-
-# Dynamic configuration (interactive check is to make sure we only do
-# this once).
-#
-ifdef %interactive%
-ifneq ($(out_root),$(src_root))
-
-$(call -include,$(dcf_root)/bootstrap-dynamic.make)
-
-$(dcf_root)/bootstrap-dynamic.make: | $(dcf_root)/.
- $(call message,,echo "src_root := $(src_root)" >$@)
-
-$(dcf_root)/.disfigure::
- $(call message, rm $$1,rm -f $$1,$(dcf_root)/bootstrap-dynamic.make)
-endif
-endif
-
-ifeq ($(.DEFAULT_GOAL),disfigure)
-.DEFAULT_GOAL :=
-endif