diff --git a/make/defs.mk b/make/defs.mk index 64abc403..fada83bd 100644 --- a/make/defs.mk +++ b/make/defs.mk @@ -16,6 +16,9 @@ Q ?= @ include $(JWBDIR)/make/projects.mk +ifndef WHICH + WHICH := $(firstword $(wildcard /usr/bin/which) $(shell which which)) +endif ifndef GREP GREP := $(shell $(WHICH) grep) endif diff --git a/make/platform.mk b/make/platform.mk index 2d79e0c0..ebcf643d 100644 --- a/make/platform.mk +++ b/make/platform.mk @@ -18,6 +18,26 @@ $(eval $(call try_include,$(JWBDIR)/make/pre-local.mk)) $(eval $(call try_include,$(TOPDIR)/make/pre-local.mk)) $(eval $(call try_include,pre-local.mk)) + +# -- What do I know about myself? +VERSION_FILE ?= $(firstword $(wildcard VERSION) $(TOPDIR)/VERSION) +ifndef DEVELOPMENT + ifeq ($(wildcard $(VERSION_FILE)),) + DEVELOPMENT := true + else + DEVELOPMENT := $(shell grep -q 'dev' $(VERSION_FILE) && echo true) + endif +endif + +# -- Conclude the build system's location: +ifeq ($(PROJECTS_DIR),) + ifeq ($(DEVELOPMENT),true) + PROJECTS_DIR ?= $(TOPDIR)/.. + else + PROJECTS_DIR ?= /opt + endif +endif + ifeq ($(MAKE_BENCHMARK),true) export SHELL := /bin/bash $(JWB_SCRIPT_DIR)/timed-make-shell.sh else @@ -25,6 +45,11 @@ else endif JWB_SCRIPT_DIR := $(firstword $(wildcard $(JWBDIR)/scripts $(JWBDIR)/bin)) + +include $(JWBDIR)/make/py-version.mk + +JW_PKG_PY = $(PYTHON) $(JWB_SCRIPT_DIR)/jw-pkg.py -p $(PROJECTS_DIR) -t $(TOPDIR) --topdir-format absolute $(JW_PKG_PY_EXTRA_OPTS) + ifndef GET_OS_SH GET_OS_SH := $(SHELL) $(JWB_SCRIPT_DIR)/get-os.sh endif diff --git a/make/projects.mk b/make/projects.mk index 80670ead..e9c34af4 100644 --- a/make/projects.mk +++ b/make/projects.mk @@ -2,36 +2,9 @@ include $(JWBDIR)/make/platform.mk -# -- What do I know about myself? -VERSION_FILE ?= $(firstword $(wildcard VERSION) $(TOPDIR)/VERSION) -ifndef DEVELOPMENT - ifeq ($(wildcard $(VERSION_FILE)),) - DEVELOPMENT := true - else - DEVELOPMENT := $(shell grep -q 'dev' $(VERSION_FILE) && echo true) - endif -endif - -# -- Conclude the build system's location: -ifeq ($(PROJECTS_DIR),) - ifeq ($(DEVELOPMENT),true) - PROJECTS_DIR ?= $(TOPDIR)/.. - else - PROJECTS_DIR ?= /opt - endif -endif - # -- Query the build system about other projects: -ifndef WHICH - WHICH := $(firstword $(wildcard /usr/bin/which) $(shell which which)) -endif - -include $(JWBDIR)/make/py-version.mk - - ifneq ($(TOPDIR),) - JW_PKG_PY = PYTHONPATH=$(JWBDIR)/src/python $(PYTHON) $(JWB_SCRIPT_DIR)/jw-pkg.py -p $(PROJECTS_DIR) -t $(TOPDIR) --topdir-format absolute $(JW_PKG_PY_EXTRA_OPTS) proj_query_cmd = $(JW_PKG_PY) projects proj_query = $(shell $(proj_query_cmd) $(1)) proj_dir = $(call proj_query,proj-dir $(1))