make: variable cleanup
make: extract variables
make: move high-level tasks to top of the file
make: test-ci
make: Improve phony rules
make: Rebuild only when needed
make: Remove useless conditionals
Use envc