Você pode substituir sua regra por:
$(PACKAGES):
stow --no-fold $@
Estou usando o gnu make e stow para gerenciar algumas configurações (dotfiles).
Eu tenho vários diretórios no meu repositório:
dotfiles/
├── Makefile
├── package1/
└── package2/
Atualmente, meu Makefile se parece com:
PACKAGES = package1 package2
.PHONY: all $(PACKAGES)
all: $(PACKAGES)
package1:
stow --no-fold $@
package2:
stow --no-fold $@
Eu quero definir uma regra padrão para pacotes, então eu fiz:
PACKAGES = package1 package2
.PHONY: all $(PACKAGES)
all: $(PACKAGES)
%:
stow --no-fold $@
Mas isso não funcionou:
$ make
make: Nothing to be done for 'all'.
$ make package1
make: Nothing to be done for 'package1'.
$ make package2
make: Nothing to be done for 'package2'.
Então: É possível definir uma regra "padrão" para diretórios? Se sim, como faço isso?