Make
如何重構此 Makefile 以不使用假的 .out 輸出?
我有測試,
tests/FILENAME-test.sh
對於每個我想在 docker 容器中執行腳本的測試。我怎樣才能重構這個 Makefile
TEST_OUTPUTS
不像我一樣使用?另外,如何使每個
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 .
這裡是:
.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
)。