Introducing a template language (most likely the Go template) for pre-processing HyperMake file (as well as .hmake/.hmakerc files).
Add command line option -D key=val and normal arguments in the form KEY=VAL to provide context for pre-processing.
E.g.
hmake -D PLATFORM=linux target1 target2 OS=linux ARCH=arm
is equivalent to
hmake -D PLATFORM=linux -D OS=linux -D ARCH=arm