Заменить символы в целевом файле Makefile

Я пытаюсь использовать

$(patsubst %-%,%:%,$(MAKECMDGOALS)) 

для замены тире с двоеточиями в целевой мишени, но это не влияет.

Как я мог это достичь?

Вы можете иметь только один шаблон в patsubst . Чтобы заменить все тире на двоеточие, вы можете использовать subst :

 $(subst -,:,$(MAKECMDGOALS)) 

Используйте команду tr :

 tr '-' ':' < OLD_MAKE_TARGET > NEW_MAKE_TARGET