Makefile:运行多个目标

时间:2018-08-07 18:56:02

标签: linux makefile

我想使用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

因此,我主要对coveragebenchmark_coveragetest_coverage感兴趣。

当我运行命令make coverage时,它会运行
$(PYTESTS) -o python_functions=test_* skimage --cov=skimage

当我运行make bench_coverage时,它会运行
$(PYTESTS) benchmarks --cov=skimage

现在,我要将两者同时运行,该怎么做?

有人建议我make coverage bench_coverage,但它只运行第一个命令。

请帮助。

谢谢

1 个答案:

答案 0 :(得分:1)

我尝试创建以下Makefile:

a:
   echo a

b:
   echo b

如果我同时运行make a b,则两者都运行,因此实际上允许运行多个目标。