make: Miscellaneous minor fixes and improvements #58

Merged
Jan Lindemann merged 4 commits from jan/feature/20260811-make-miscellaneous-minor-fixes-and-improvements into master 2026-08-11 16:53:42 +02:00 AGit

This PR brings a couple of minor fixes and improvements to the makefile snippets in $(TOPDIR)/make.

defs.mk: Disable BUILD_PKG_CONFIG

BUILD_PKG_CONFIG installs files across project directories into $(JWBDIR) because of this:

BUILD_PKG_CONFIGDIR = $(JWBDIR)/pkgconfig

The concept is currently not used by any downstream project anymore, hence it lacks sufficient testing at this point. Moreover, it breaks building repos which are sandboxed to their own root directory, because it tries to install the generated .pc file back into $(JWBDIR). The concept itself isn't entirely off, so leave the code in, disabled, with a comment.

platform.mk: Remove --topdir-format from JW_PKG_PY

Some uses of $(JW_PKG_PY) need to ensure their own topdir format, which results in two options on jw-pkg.py's command line, with the second overwriting the first. This works but is a minor uglyness. Since the default built into jw-pkg works for all other cases, remove --topdir-format from the JW_PKG_PY variable.

py-check.mk: Run isort with "make format"

If /usr/bin/isort is found, run it during "make format" to get a defined way the imports are sorted. tool.isort in pyproject.toml is updated to match the other fixers.

Commit the fallout of this change. Running the other fixers alone doesn't change the formatting, so this should be safe.

projects-dir.mk: Add diff-projects target

The diff-all and diff targets diff all projects in the workspace without filtering.

Add a target "diff-projects". It sets PGIT_SH_PROJECTS to the list of projects from build-order, limiting the diff to the dependency closure around $(PROJECTS).

This PR brings a couple of minor fixes and improvements to the makefile snippets in $(TOPDIR)/make. #### defs.mk: Disable BUILD_PKG_CONFIG BUILD_PKG_CONFIG installs files across project directories into $(JWBDIR) because of this: BUILD_PKG_CONFIGDIR = $(JWBDIR)/pkgconfig The concept is currently not used by any downstream project anymore, hence it lacks sufficient testing at this point. Moreover, it breaks building repos which are sandboxed to their own root directory, because it tries to install the generated .pc file back into $(JWBDIR). The concept itself isn't entirely off, so leave the code in, disabled, with a comment. #### platform.mk: Remove --topdir-format from JW_PKG_PY Some uses of $(JW_PKG_PY) need to ensure their own topdir format, which results in two options on jw-pkg.py's command line, with the second overwriting the first. This works but is a minor uglyness. Since the default built into jw-pkg works for all other cases, remove --topdir-format from the JW_PKG_PY variable. #### py-check.mk: Run isort with "make format" If /usr/bin/isort is found, run it during "make format" to get a defined way the imports are sorted. tool.isort in pyproject.toml is updated to match the other fixers. Commit the fallout of this change. Running the other fixers alone doesn't change the formatting, so this should be safe. #### projects-dir.mk: Add diff-projects target The diff-all and diff targets diff all projects in the workspace without filtering. Add a target "diff-projects". It sets PGIT_SH_PROJECTS to the list of projects from build-order, limiting the diff to the dependency closure around $(PROJECTS).
BUILD_PKG_CONFIG installs files across project directories into
$(JWBDIR) because of this:

   BUILD_PKG_CONFIGDIR      = $(JWBDIR)/pkgconfig

The concept is currently not used by any downstream project anymore,
hence it lacks sufficient testing at this point. Moreover, it breaks
building repos which are sandboxed to their own root directory,
because it tries to install the generated .pc file back into
$(JWBDIR). The concept itself isn't entirely off, so leave the code
in, disabled, with a comment.

Signed-off-by: Jan Lindemann <jan@janware.com>
Some uses of $(JW_PKG_PY) need to ensure their own topdir format,
which results in two options on jw-pkg.py's command line, with the
second overwriting the first. This works but is a minor uglyness.
Since the default built into jw-pkg works for all other cases, remove
--topdir-format from the JW_PKG_PY variable.

Signed-off-by: Jan Lindemann <jan@janware.com>
If /usr/bin/isort is found, run it during "make format" to get a
defined way the imports are sorted. tool.isort in pyproject.toml is
updated to match the other fixers.

Commit the fallout of this change. Running the other fixers alone
doesn't change the formatting, so this should be safe.

Signed-off-by: Jan Lindemann <jan@janware.com>
projects-dir.mk: Add diff-projects target
All checks were successful
CI / Packaging - Kali Linux (pull_request) Successful in 4m6s
CI / Packaging - OpenSUSE Tumbleweed (pull_request) Successful in 4m18s
CI / Packaging test (pull_request) Successful in 0s
CI / Packaging - Kali Linux (push) Successful in 3m40s
CI / Packaging - OpenSUSE Tumbleweed (push) Successful in 4m7s
CI / Packaging test (push) Successful in 0s
6e988bea21
The diff-all and diff targets diff all projects in the workspace
without filtering.

Add a target "diff-projects". It sets PGIT_SH_PROJECTS to the list of
projects from build-order, limiting the diff to the dependency
closure around $(PROJECTS).

Signed-off-by: Jan Lindemann <jan@janware.com>
Jan Lindemann scheduled this pull request to auto merge when all checks succeed 2026-08-11 16:45:17 +02:00
Jan Lindemann scheduled this pull request to auto merge when all checks succeed 2026-08-11 16:45:56 +02:00
Jan Lindemann changed title from $(TOPDIR)/make/*.mk: Miscellaneous minor fixes and improvements to make: Miscellaneous minor fixes and improvements 2026-08-11 16:47:39 +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!58
No description provided.