Skip to content

include-dep-report: bucket by what the build links, not by directory depth - #4446

Merged
BsAtHome merged 1 commit into
LinuxCNC:masterfrom
grandixximo:report-buckets
Aug 22, 2026
Merged

include-dep-report: bucket by what the build links, not by directory depth#4446
BsAtHome merged 1 commit into
LinuxCNC:masterfrom
grandixximo:report-buckets

Conversation

@grandixximo

Copy link
Copy Markdown
Contributor

SUBDIRS names the six libnml subdirectories and each has an empty Submakefile, present only because SUBMAKEFILES derives one path per entry. Every source is listed in libnml/Submakefile and links into one libnml.so, so the five-way cycle the report showed between them was a directory layout, not a dependency.

A subdirectory is folded into its parent when the parent's Submakefile names its sources. An empty Submakefile on its own is not the test: emc/tp has one too, and folding that into emc would have hidden the motion/tp cycle. The top-level Makefile builds it into tpmod, so it keeps its own bucket.

On master:

before:  3 cycles over 9 directories, 18 edges, 106 include sites
after:   2 cycles over 4 directories,  4 edges,  20 include sites

The docstring and the report header both said bucketing followed SUBDIRS granularity, which module_of never did. They now describe the rule the code applies.

Part of the dependency work behind #4375.

…depth

The six libnml subdirectories are in SUBDIRS and each has an empty
Submakefile, present only to satisfy SUBMAKEFILES. Every source is listed
in libnml/Submakefile and links into one libnml.so, so the five-way cycle
the report showed between them was a directory layout, not a dependency.

Fold a subdirectory into its parent when the parent's Submakefile lists
its sources. emc/tp keeps its own bucket, the top-level Makefile builds it
into tpmod.
@BsAtHome
BsAtHome merged commit a1559d1 into LinuxCNC:master Aug 22, 2026
17 checks passed
@grandixximo
grandixximo deleted the report-buckets branch August 22, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants