A tutorial on learning Makefiles