th0ma7 · GitHub

@th0ma7

This was referenced

Jul 13, 2026

Merged

Merged

@th0ma7

th0ma7 added a commit to th0ma7/spksrc that referenced this pull request

Jul 13, 2026
A curated, rationale-first log of notable framework (mk/) changes with a
link to each pull request, so contributors can follow how and why the
build framework evolves. Covers the recent build-variable standardization
series (CONFIGURE_ARGS SynoCommunity#7279, COMPILE_ARGS/INSTALL_ARGS SynoCommunity#7280, BUILD_DIR
SynoCommunity#7282) plus a few earlier milestones (mk reorganization, the meta
cross-dependency environment, toolchain bootstrap and downloads).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@th0ma7

th0ma7 added a commit to th0ma7/spksrc that referenced this pull request

Jul 13, 2026
A curated, rationale-first log of notable framework (mk/) changes with a
link to each pull request, so contributors can follow how and why the
build framework evolves. Covers the recent build-variable standardization
series (CONFIGURE_ARGS SynoCommunity#7279, COMPILE_ARGS/INSTALL_ARGS SynoCommunity#7280, BUILD_DIR
SynoCommunity#7282) plus a few earlier milestones (mk reorganization, the meta
cross-dependency environment, toolchain bootstrap and downloads).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

th0ma7 added a commit to th0ma7/spksrc that referenced this pull request

Jul 13, 2026
A curated, rationale-first log of notable framework (mk/) changes with a
link to each pull request, so contributors can follow how and why the
build framework evolves. Covers the recent build-variable standardization
series (CONFIGURE_ARGS SynoCommunity#7279, COMPILE_ARGS/INSTALL_ARGS SynoCommunity#7280, BUILD_DIR
SynoCommunity#7282) plus a few earlier milestones (mk reorganization, the meta
cross-dependency environment, toolchain bootstrap and downloads).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
COMPILE_ARGS is a single package-facing variable for the compile step:
- autotools / plain GNU make: it is the make command (replaces the old
  COMPILE_MAKE_OPTIONS, which is removed - it had no framework default);
- CMake: appended as-is to 'cmake --build';
- Meson / Ninja: appended as-is to 'ninja'.
All 32 packages that set COMPILE_MAKE_OPTIONS are converted. Docs updated.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Mirror of the COMPILE_ARGS change for the install step. INSTALL_ARGS is
a single package-facing variable:
- autotools / plain GNU make: it is the make command, replacing the old
  INSTALL_MAKE_OPTIONS (removed). Its default (install DESTDIR= prefix=)
  now lives inline in install_target, applied only when INSTALL_ARGS is
  unset;
- CMake: appended as-is to 'cmake --install';
- Meson / Ninja: appended as-is to 'ninja install'.
The inline default means install.mk only ever reads INSTALL_ARGS, never
assigns it, so it does not collide with the INSTALL_ARGS already used by
the python build paths (pip install / meson -Cinstall-args); python
packages override INSTALL_TARGET and never reach this make path anyway.
All 39 packages that set INSTALL_MAKE_OPTIONS are converted. Docs updated.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
haproxy, libvpx-1.14, libvpx-latest and postgis each overrode
INSTALL_TARGET with a phony target whose sole recipe was a single
'make install <vars>'. With package-facing INSTALL_ARGS that override is
redundant: express the install command directly and drop the custom
target. Behaviour is identical (same make install invocation).
Only packages whose custom install does nothing beyond 'make install'
qualify; those doing extra work (he853's mkdir, mutt's file copy) or a
manual install/cp because upstream has no 'make install' are left as-is.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
On the classic gnu-make build path only, default COMPILE_ARGS to
-j$(NCPUS) and INSTALL_ARGS to the standard 'install DESTDIR= prefix='
command when a package leaves them unset. This lets package-specific make
routines reference $(COMPILE_ARGS)/$(INSTALL_ARGS) directly and inherit
sensible behaviour.
Scoped with DEFAULT_ENV so the defaults never reach the CMake/Meson
append (which keeps their own parallelism and install logic), and skipped
when INSTALL_TARGET is a *_python_* target so the python pip/meson-python
installers - which read INSTALL_ARGS themselves - are not disturbed.
compile_target avoids a duplicate -j when COMPILE_ARGS already carries one.
Since INSTALL_ARGS now always has a value on the make path, install_target
drops its now-redundant inline default and just runs 'make $(INSTALL_ARGS)'.
The native cmake/meson env files now declare DEFAULT_ENV (cmake / meson),
mirroring the cross ones, so the guard also excludes native cmake/meson
builds - otherwise their 'make install $(INSTALL_ARGS)' would pick up the
default and run 'make install install DESTDIR= prefix='.
Packages using the defaults: glibc-2.28 / glibc-latest drop their explicit
-j; cairo-1.16's split src/util build inherits -j at compile and uses
$(INSTALL_ARGS) at install.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@th0ma7

th0ma7 added a commit to th0ma7/spksrc that referenced this pull request

Jul 13, 2026
A curated, rationale-first log of notable framework (mk/) changes with a
link to each pull request, so contributors can follow how and why the
build framework evolves. Covers the recent build-variable standardization
series (CONFIGURE_ARGS SynoCommunity#7279, COMPILE_ARGS/INSTALL_ARGS SynoCommunity#7280, BUILD_DIR
SynoCommunity#7282) plus a few earlier milestones (mk reorganization, the meta
cross-dependency environment, toolchain bootstrap and downloads).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

This was referenced

Jul 13, 2026

Open

Open

@th0ma7

@th0ma7

th0ma7 deleted the standardize-compile-install-args branch

July 14, 2026 10:39

th0ma7 added a commit to th0ma7/spksrc that referenced this pull request

Jul 14, 2026
A curated, rationale-first log of notable framework (mk/) changes with a
link to each pull request, so contributors can follow how and why the
build framework evolves. Covers the recent build-variable standardization
series (CONFIGURE_ARGS SynoCommunity#7279, COMPILE_ARGS/INSTALL_ARGS SynoCommunity#7280, BUILD_DIR
SynoCommunity#7282) plus a few earlier milestones (mk reorganization, the meta
cross-dependency environment, toolchain bootstrap and downloads).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Merged

6 tasks

@hgy59 hgy59 mentioned this pull request

Jul 27, 2026

Merged

6 tasks

hgy59 added a commit that referenced this pull request

Jul 27, 2026
- adjust build to changes in #7280

hgy59 added a commit to hgy59/spksrc that referenced this pull request

Jul 29, 2026
- adjustments for framework changes in SynoCommunity#7280
- rename patch from upgrade to downgrade
- use identical patches for agent and hub

Read the original on github.com ↗