jw-pkg/make/projects.mk
Jan Lindemann 0b83c863a2 jw.build.cmds: Move build.cmds -> cmds.projects
Reorganize the Python module structure. Placing the command classes
under jw.cmds.projects instead of jw.build.cmds will allow to add a
nested command structure, with the current commands, being mostly
related to building software, found below a "projects" toplevel
command.

Other conceivable commands could be "package" for packaging, or
"distro" for commands wrapping the distribution's package manager.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-01-26 17:58:23 +01:00

38 lines
1.2 KiB
Makefile

# == Variables for inter-project-communication
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),)
proj_query_cmd = PYTHONPATH=$(JWBDIR)/src/python $(PYTHON) $(JWB_SCRIPT_DIR)/jw-projects.py -p $(PROJECTS_DIR) -t $(TOPDIR) $(PROJECTS_PY_EXTRA_OPTS) projects
proj_query = $(shell $(proj_query_cmd) $(1))
proj_dir = $(call proj_query,proj-dir $(1))
htdocs_dir = $(call proj_query,htdocs-dir $(1))
tmpl_dir = $(call proj_query,tmpl-dir $(1))
endif