0
다음과 같이 Makefile (gnu make)을 작성하고 싶습니다. 즉, 변수에 저장된 값 목록에 대해 명령을 실행하고 싶습니다. 그것은 가능합니까 아니면 추한 루프를 작성해야합니까?변수를 입력으로 사용하는 Makefile 규칙
못생긴 규칙은 작동하지만 스마트하지 않습니다.
SERVERS:=localhost
COMMAND:=uptime
OUTPUTS:=$(patsubst %, %.output ,$(SERVERS))
.PHONY: smart ugly
smart: $(OUTPUTS)
%.output: %
ssh -n $^ $(COMMAND) > [email protected] || $(RM) [email protected]
ugly:
for s in $(SERVERS); do \
ssh -n $$s $(COMMAND) > $$s.output || $(RM) $$s.output; \
done