If I use pip as part of my buildchain, then it has a series of places it can lookup, or you can supply one. Same with npm, cargo, and even Go.
If instead, I use a tool that has dynamic lookup, then it will only look in those places after the event.
So, if I used make to send a command like:
$(echo 'require "foo"' > bar.lua)
Then it can lookup those when the lua file is called, later in the process.So how would this be a limitation of make itself? The limitation only exists in what you call with make... Which could be anything.