blob: ada8cd0c6c40f1a95b725f790a26475ddeb5316b [file] [log] [blame]
# -*- makefile -*-
# -----------------------------------------------------------------------
# Intent: Dependency-free macros used to source library makefiles
# and define the build environment.
# -----------------------------------------------------------------------
$(if $(DEBUG-bootstrap_mk),$(warning ENTER))
##---------------------##
##---] CONSTANTS [---##
##---------------------##
is-false = $(if $(1),true,$(null))
is-true = $(if $(1),$(null),true)
##--------------------------##
##---] LIBRARY MACROS [---##
##--------------------------##
is-null = $(if $(1),$(null),$(error $(1)= is undef))
is-null-var = $(if $$(1),$(null),$(error $(1)= is undef))
is-null-var-indirect = $(if $(1),$(null),$(error $(1)= is undef))
## variable flavor:
# origin - undefned
# default
# environment
# environment override
# automatic
# null(blah) ? - true
## -----------------------------------------------------------------------
## Intent: Given an indirect var containing varname of a makefile *_ROOT
## parent director, derive a *_MKDIR variable and conditionally
## include the makefile hierarchy.
## -----------------------------------------------------------------------
## Given:
## o var containing OPT_ROOT=path
## Return:
## o OPT_MKDIR=$(OPT_ROOT)/makefiles
## o If exists include $(OPT_MKDIR)/include.mk
## -----------------------------------------------------------------------
# library-include := $(call mk-library-include,blah)
mk-library-include=$(error revisit mk-library-include)
#$(strip \
# $(warning mk-library-include: $$1[$(1)] = [$($(1))]))\
# $(call is-null-var,1)\
# $(foreach var,$($(1)),\
# $(info var=$(var) is-null=$(call is-null-var,var))\
# $(foreach val,$$(var),\
# $(info val=$(val))\
# $(foreach makedir,$(subst _ROOT,_MKDIR,$(var)),\
#$(warning makedir=$(makedir))\
# $(if $($(makedir)),$(null),\
# $(eval $(makedir)=$$$$($(var))/makefiles)\
#$(warning $(makedir) = $($($(makedir))))\
#$(info $$(wildcard $(val)/makefiles/include.mk) = $(wildcard $(val)/makefiles/include.mk))\
# $(foreach mf,$(wildcard $(wildcard $(val)/makefiles/include.mk)),\
#$(warning $$(eval include $(mf)))\
## $(eval include $(mf)))\
# )
$(if $(DEBUG-bootstrap_mk),$(warning LEAVE))
# [EOF]