The "$^" variable is GNU make-specific, and fails to compile under