将makefile转换为命令行输入或bazel



我当前正在从事一个项目,该项目专门要求我不使用makefile来构建所有依赖项,因为他们的整个仓库都使用Bazel来构建文件。我对makefile的了解为零。我想知道如何将以下makefile转换为命令行参数,然后我可以简单地将其放入一个简单的python脚本中。先感谢您!非常感谢您的解决方案!

# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS    =
SPHINXBUILD   = sphinx-build
SOURCEDIR     = .
BUILDDIR      = _build
# Put it first so that "make" without argument is like "make help".
help:
    @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
    @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

删除@,然后将为您打印所有命令(@抑制了它使用的命令(:

help:
    $(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
%: Makefile
    $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

然后运行 makemake help,然后查看制造用法的确切行...复制/过去...或明确地回荡它们:

help:
    echo $(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
%: Makefile
    echo $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

那么实际上什么都不应运行,但是它将运行的命令将被打印...

如果执行" make"或" make help",它将执行:

sphinx-build -M help . _build

如果您使用任何其他目标,例如" make foo",而该目标dos尚不存在(或它存在,但比Makefile年龄较大(,它将执行:

sphinx-build -M foo . _build

最新更新