Você provavelmente não deveria fazer isso; você está quebrando o padrão básico de como o Make funciona. Mas aqui está:
action:
@echo action $(filter-out $@,$(MAKECMDGOALS))
%: # thanks to chakrit
@: # thanks to William Pursell
EDIT:
Para explicar o primeiro comando,
$(MAKECMDGOALS)
é a lista de "alvos" explicitada na linha de comando, por exemplo, "ação valor1 valor2".
$@
é uma variável automática para o nome do destino da regra, neste caso "ação".
filter-out
é uma função que remove alguns elementos de uma lista. Então $(filter-out bar, foo bar baz)
retorna foo baz
(pode ser mais sutil, mas não precisamos de sutileza aqui).
Reúna-os e $(filter-out $@,$(MAKECMDGOALS))
retorna a lista de destinos especificados na linha de comando diferente de "ação", que pode ser "valor1 valor2".