Create shared makefile for building HALs
This de-duplicates a lot of HAL makefiles, and also allows us to introduce a cross-compilation variant for them all at once.
APCS specifiers are deliberately omitted; this is in order to facilitate some HALs linking with libraries compiled to the usual APCS variant without resulting in link-time warnings.