Muhtemelen bunu yapmamalısın; Make'in nasıl çalıştığına dair temel kalıbı bozuyorsunuz. Ama işte burada:
action:
@echo action $(filter-out $@,$(MAKECMDGOALS))
%: # thanks to chakrit
@: # thanks to William Pursell
EDIT:
İlk komutu açıklamak için,
$(MAKECMDGOALS)
komut satırında yazılı "hedefler" listesidir, örneğin "işlem değeri1 değer2".
$@
Bir olan otomatik değişken bu durumda "eylem" in kural hedefin adı için.
filter-out
bir listeden bazı öğeleri kaldıran bir işlevdir. Yani $(filter-out bar, foo bar baz)
dönüşler foo baz
(daha incelikli olabilir, ancak burada inceliğe ihtiyacımız yok).
Bunları bir araya getirin ve $(filter-out $@,$(MAKECMDGOALS))
"eylem" dışında komut satırında belirtilen hedeflerin listesini döndürür, bu "değer1 değer2" olabilir.