blob: 05613c973d8662d9da2f1e39dbd36abbefa58eef [file] [log] [blame]
HOST_ARCH := $(shell $(MK)/../bin/archtype)
ifndef ARCHITECTURE
ifdef ARCH
ARCHITECTURE = $(ARCH)
else
ARCHITECTURE := $(HOST_ARCH)
endif
endif
TEMPLATE_WANTED := $(MK)/$(ARCHITECTURE)_$(TOOLSET)_$(WHAT).mak
TEMPLATE_FOUND := $(wildcard $(TEMPLATE_WANTED))
PACKAGES_WANTED := $(PACKAGES:%=$(MK)/%.pkg)
PACKAGES_FOUND := $(wildcard $(PACKAGES_WANTED))
PACKAGES_MISSING := $(filter-out $(PACKAGES_FOUND),$(PACKAGES_WANTED))
ALL_WANTED := $(TEMPLATE_WANTED) $(PACKAGES_WANTED)
ALL_FOUND := $(TEMPLATE_FOUND) $(PACKAGES_FOUND)
#
# If everything we need to include was found, we're in great shape.
#
ifeq ($(ALL_WANTED),$(ALL_FOUND))
include $(PACKAGES_FOUND) $(TEMPLATE_FOUND)
#
# Otherwise, try to figure out what's wrong
#
else
default: show-it
something-went-wrong::
@echo Something's afoul
ERRS=err-intro
err-intro::
@echo "I can't figure out how to build your target because..." 2>&1
no-arch::
@echo " -- There are no templates for the \`$(ARCHITECTURE)'" \
"architecture" 2>&1
no-toolset::
@echo " -- There are no templates for the \`$(TOOLSET)' toolset" 2>&1
no-what::
@echo " -- I don't know what a \`$(WHAT)' is" 2>&1
no-packages::
@echo " -- I can't find support for the following packages:"
@echo " " $(PACKAGES_MISSING:$(MK)/%.pkg=%)
ifeq ($(wildcard $(MK)/$(ARCHITECTURE)_*_*.mak),)
ERRS+=no-arch
else
ifeq ($(wildcard $(MK)/$(ARCHITECTURE)_$(TOOLSET)_*.mak),)
ERRS+=no-toolset
else
ifeq ($(wildcard $(MK)/$(ARCHITECTURE)_$(TOOLSET)_$(WHAT).mak),)
ERRS+=no-what
endif
endif
endif
ifneq ($(PACKAGES_MISSING),)
ERRS+=no-packages
endif
show-it: $(ERRS)
#.DEFAULT: $(ERRS)
endif