我想使用Makefile运行两个目标,但是不知道如何从命令行指定目标。
这是我的文件。
.PHONY: all clean test
PYTHON=python
PYTESTS=pytest
all:
$(PYTHON) setup.py build_ext --inplace
clean:
find . -name "*.so" -o -name "*.pyc" -o -name "*.md5" -o -name "*.pyd" | xargs rm -f
find . -name "*.pyx" -exec ./tools/rm_pyx_c_file.sh {} \;
benchmark_coverage:
$(PYTESTS) benchmarks --cov=skimage
coverage: test_coverage
test_coverage:
$(PYTESTS) -o python_functions=test_* skimage --cov=skimage
因此,我主要对coverage
,benchmark_coverage
和test_coverage
感兴趣。
当我运行命令make coverage
时,它会运行
$(PYTESTS) -o python_functions=test_* skimage --cov=skimage
。
当我运行make bench_coverage
时,它会运行
$(PYTESTS) benchmarks --cov=skimage
。
现在,我要将两者同时运行,该怎么做?
有人建议我make coverage bench_coverage
,但它只运行第一个命令。
请帮助。
谢谢
答案 0 :(得分:1)
我尝试创建以下Makefile:
a:
echo a
b:
echo b
如果我同时运行make a b
,则两者都运行,因此实际上允许运行多个目标。