Enable specifying `Makefile` configurations via the `.env` file.
Aside from many updates and bug fixes, the biggest change is that the Makefile
now reads the .env
file and no longer takes any variables from the host shell unless given during the make
command invocation. Also, lots of new rules for ruff
that I found reasonable.