projects, make: Follow pkg.recommends.jw in the build closure #121
1 changed files with 3 additions and 2 deletions
projects-dir.mk: Derive DEP_PROJECTS from the build order
DEP_PROJECTS is computed with pkg-requires --recursive, which follows [pkg.requires.jw] only. That set does not match what the build actually builds, and it omits seed projects that no other project of the closure depends on. Derive DEP_PROJECTS from projects build --build-order with the same dependency flavours as make all, the very command the build-order make target and the workspace mount closure (mount-projects-dir.sh) use. DEP_PROJECTS is now exactly the build closure, so the file listings, the text-files cache and the git helpers of a workspace cover the same project set as make all. Introduce the PKG_RELATIONS_BUILD variable, defaulting to requires, and pass it through JW_PKG_PY_BUILD to every build invocation of the workspace, so the relations of the build closure are a workspace property. Signed-off-by: Jan Lindemann <jan@janware.com> Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.86.1
commit
1151104328
|
|
@ -124,7 +124,8 @@ ifeq ($(TIME),)
|
|||
endif
|
||||
endif
|
||||
JW_PKG_PY_PROJECTS = $(JW_PKG_PY) projects
|
||||
JW_PKG_PY_BUILD = $(JW_PKG_PY_PROJECTS) build $(JW_PKG_PY_EXTRA_BUILD_OPTS)
|
||||
PKG_RELATIONS_BUILD ?= requires
|
||||
JW_PKG_PY_BUILD = $(JW_PKG_PY_PROJECTS) build --pkg-relations "$(PKG_RELATIONS_BUILD)" $(JW_PKG_PY_EXTRA_BUILD_OPTS)
|
||||
PKG_MANAGER ?= $(TIME) $(JW_PKG_PY) --interactive=$(INTERACTIVE) pkg
|
||||
|
||||
ifneq ($(origin PROJECTS_DIR_REMOTE_BASE),undefined)
|
||||
|
|
@ -152,7 +153,7 @@ JANWARE_PACKAGE_FILTER = url =~ janware
|
|||
# ------------ projects to be built
|
||||
|
||||
TARGET_PROJECTS = $(filter-out $(EXCLUDE_FROM_BUILD),$(PROJECTS))
|
||||
DEP_PROJECTS = $(shell $(JW_PKG_PY_PROJECTS) pkg-requires --recursive --syntax names-only --no-subpackages --delimiter ' ' --subsections jw run,build,devel,release $(TARGET_PROJECTS))
|
||||
DEP_PROJECTS = $(shell JW_DEFAULT_LOG_LEVEL=WARNING $(JW_PKG_PY_BUILD) --build-order --dep-flavours="$(BUILD_DEP_FLAVOURS)" all $(TARGET_PROJECTS))
|
||||
GIT_PROJECTS = $(patsubst %/,%,$(dir $(wildcard $(addsuffix /.git,$(DEP_PROJECTS)))))
|
||||
PROJECTS_WITH_PROJECT_CONF = $(patsubst %/make/project.conf,%,$(wildcard $(addsuffix /make/project.conf,$(DEP_PROJECTS))))
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue