Build systems à la carte: Theory and practice. (21st April 2020)