Makefile: avoid use of non-standard $^