This post is about the following strange program I wrote recently. dummy=; define () { true; } define dummy echo "Hello from shell; PATH is ${PATH}" return 0 2>/dev/null || exit 0 endef .PHONY: say-hello say-hello: @echo "Hello from make; makevar PATH is $(PATH), envvar PATH is $${PATH}" One of my guilty secrets is that ‘make’ is one of my favourite programming languages. It has persistence and goal-driven incremental execution... so high-level! Although it is string-based, it has much l...