代码之家  ›  专栏  ›  技术社区  ›  Abhishek Arya

Makefile:运行多个目标

  •  0
  • Abhishek Arya  · 技术社区  · 8 年前

    我想使用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 但它只运行第一个命令。

    请帮忙。

    谢谢

    1 回复  |  直到 8 年前
        1
  •  2
  •   Bitwise    8 年前

    我尝试创建以下生成文件:

    a:
       echo a
    
    b:
       echo b
    

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