SDK pruning rule uses the wrong `ar`

Author: georgevddCreated May 30, 2026Updated May 30, 2026

Expected behavior

The rule for $(TOP_DIR)/sdk/.pruned-$(SDK_VER) should prune using the ar supplied by the toolchain, not any ar ambiently available in ${PATH}.

Actual behavior

If the version of GNU make is <= 3.81, then the rule for $(TOP_DIR)/sdk/.pruned-$(SDK_VER) does not use the ar supplied by the toolchain, instead using whatever is ambiently available, which may be incompatible or missing.

Test code

On a system with make <= 3.81 (e.g. MacOS), from a shell where ar is not available on ${PATH}:

bash
make

This is a build-time bug so is independent of NodeMCU firmware version.

(Copied from https://github.com/georgevdd/nodemcu-firmware/issues/4)

Source: nodemcu/nodemcu-firmware