common.mk: Add file #123

Merged
Jan Lindemann merged 1 commit from jan/feature/20260922-common-mk-add-file into master 2026-09-22 16:57:52 +02:00 AGit

common.mk: Add file

This is the first in a series of pushes to clean up jw-pkg's makefile fragments make/*.mk. It collects redundantly defined workspace and project variables into one shared common.mk.

Variables needed in both the workspace directory and the project directories are defined separately in the two contexts: Q in defs.mk and projects-dir-minimal.mk, INTERACTIVE in topdir.mk and projects-dir.mk, BROWSER and JWB_SCRIPT_DIR in defs.mk/platform.mk and projects-dir.mk, and LIST_VCS_FILES and LIST_VCS_FILES_SH wrapping the same scm.sh ls-files call under different names. PKG_MANAGER is defined in topdir.mk and projects-dir.mk, and JW_PKG_PY_PROJECTS is a prefix only used to build two other variables in projects-dir.mk.

This commit adds make/common.mk, included from defs.mk (and hence from every project directory) and from projects-dir.mk (the workspace), and collects the shared variables there:

  • Q, INTERACTIVE, BROWSER, JWB_SCRIPT_DIR: one ?= definition each
  • LIST_VCS_FILES: one definition; LIST_VCS_FILES_SH is dropped and the list-files target uses the shared name
  • PKG_MANAGER moves to projects+project.mk, the fragment shared by the workspace and the topdir
  • projects-dir-minimal.mk keeps its own Q, because the bootstrap recipes run before common.mk is parsed
  • JW_PKG_PY_PROJECTS is inlined into JW_PKG_PY_BUILD and JW_PKG_PY_REQUIRED_OS_PKG
#### common.mk: Add file This is the first in a series of pushes to clean up jw-pkg's makefile fragments make/*.mk. It collects redundantly defined workspace and project variables into one shared common.mk. Variables needed in both the workspace directory and the project directories are defined separately in the two contexts: Q in defs.mk and projects-dir-minimal.mk, INTERACTIVE in topdir.mk and projects-dir.mk, BROWSER and JWB_SCRIPT_DIR in defs.mk/platform.mk and projects-dir.mk, and LIST_VCS_FILES and LIST_VCS_FILES_SH wrapping the same scm.sh ls-files call under different names. PKG_MANAGER is defined in topdir.mk and projects-dir.mk, and JW_PKG_PY_PROJECTS is a prefix only used to build two other variables in projects-dir.mk. This commit adds make/common.mk, included from defs.mk (and hence from every project directory) and from projects-dir.mk (the workspace), and collects the shared variables there: - Q, INTERACTIVE, BROWSER, JWB_SCRIPT_DIR: one ?= definition each - LIST_VCS_FILES: one definition; LIST_VCS_FILES_SH is dropped and the list-files target uses the shared name - PKG_MANAGER moves to projects+project.mk, the fragment shared by the workspace and the topdir - projects-dir-minimal.mk keeps its own Q, because the bootstrap recipes run before common.mk is parsed - JW_PKG_PY_PROJECTS is inlined into JW_PKG_PY_BUILD and JW_PKG_PY_REQUIRED_OS_PKG
common.mk: Add file
All checks were successful
CI / Packaging - Kali Linux (pull_request) Successful in 5m4s
CI / Packaging - OpenSUSE Tumbleweed (pull_request) Successful in 7m20s
CI / Packaging test (pull_request) Successful in 0s
CI / Packaging - Kali Linux (push) Successful in 5m14s
CI / Packaging - OpenSUSE Tumbleweed (push) Successful in 7m2s
CI / Packaging test (push) Successful in 0s
4823463b88
This is the first in a series of attempts to clean up jw-pkg's makefile
fragments make/*.mk. It collects redundantly defined workspace and project
variables into one shared common.mk.

Variables needed in both the workspace directory and the project
directories are defined separately in the two contexts: Q in defs.mk and
projects-dir-minimal.mk, INTERACTIVE in topdir.mk and projects-dir.mk,
BROWSER and JWB_SCRIPT_DIR in defs.mk/platform.mk and projects-dir.mk, and
LIST_VCS_FILES and LIST_VCS_FILES_SH wrapping the same scm.sh ls-files call
under different names. PKG_MANAGER is defined in topdir.mk and
projects-dir.mk, and JW_PKG_PY_PROJECTS is a prefix only used to build two
other variables in projects-dir.mk.

This commit adds make/common.mk, included from defs.mk (and hence from
every project directory) and from projects-dir.mk (the workspace), and
collects the shared variables there:

- Q, INTERACTIVE, BROWSER, JWB_SCRIPT_DIR: one ?= definition each
- LIST_VCS_FILES: one definition; LIST_VCS_FILES_SH is dropped and the
  list-files target uses the shared name
- PKG_MANAGER moves to projects+project.mk, the fragment shared by the
  workspace and the topdir
- projects-dir-minimal.mk keeps its own Q, because the bootstrap recipes
  run before common.mk is parsed
- JW_PKG_PY_PROJECTS is inlined into JW_PKG_PY_BUILD and
  JW_PKG_PY_REQUIRED_OS_PKG

Signed-off-by: Jan Lindemann <jan@janware.com>
Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.87.0
Jan Lindemann scheduled this pull request to auto merge when all checks succeed 2026-09-22 16:42:53 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
janware/jw-pkg!123
No description provided.