我当前正在从事一个项目,该项目专门要求我不使用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)
然后运行 make
或 make 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