Я хотел бы написать Makefile (gnu make), как показано ниже, т.е. для заданного списка значений, хранящихся в переменной, я хотел бы запустить команду.Возможно ли это, или мне нужно написать уродливый цикл?
Уродливые правила работают, а умные - нет.
SERVERS:=localhost
COMMAND:=uptime
OUTPUTS:=$(patsubst %, %.output ,$(SERVERS))
.PHONY: smart ugly
smart: $(OUTPUTS)
%.output: %
ssh -n $^ $(COMMAND) > $@ || $(RM) $@
ugly:
for s in $(SERVERS); do \
ssh -n $$s $(COMMAND) > $$s.output || $(RM) $$s.output; \
done