makefile: simplify expressions for listing files
makefile: declare phony targets in situ
makefile: avoid repetition of command-line options
makefile: silence echo commands only
makefile: preserve dependencies when cleaning
makefile: determine release version via semver