![false .out 출력을 사용하지 않도록 이 Makefile을 리팩토링하려면 어떻게 해야 합니까?](https://linux55.com/image/117794/false%20.out%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8F%84%EB%A1%9D%20%EC%9D%B4%20Makefile%EC%9D%84%20%EB%A6%AC%ED%8C%A9%ED%86%A0%EB%A7%81%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
각각을 테스트 했으며 tests/FILENAME-test.sh
Docker 컨테이너 내에서 스크립트를 실행하고 싶습니다.
TEST_OUTPUTS
이 Makefile이 내 것처럼 작동 하지 않도록 어떻게 리팩토링할 수 있나요 ?
docker run
또한 각 명령을 병렬로 실행 하려면 어떻게 해야 합니까 ?
.PHONY: test image
TESTS=$(wildcard tests/*-test.sh)
TEST_OUTPUTS=$(patsubst %.sh,%.out,$(TESTS))
%.out: %.sh image
@sudo docker run -t box-test /bin/bash "-c" "./$^"
test: $(TEST_OUTPUTS)
@echo
image:
@sudo docker build -q -t box-test .
답변1
여기있어:
.PHONY: test image
TESTS=$(wildcard tests/*-test.sh)
test: $(TESTS)
$(TESTS): image
@sudo docker run -t box-test /bin/bash "-c" "./$@"
image:
@sudo docker build -q -t box-test .
docker run
명령을 병렬로 실행하려면 다음을 사용하세요 ( make -j test
를 사용하여 최대 동시 실행 수를 지정할 수 있음 -j
).