如何在makefile中测试应用程序

如何在makefile中测试应用程序,makefile,conditional,Makefile,Conditional,作为我项目的一部分,我正在创建一个不同模块依赖关系的图表 dependency-graph.png: dependency-graph.txt dot -Tpng $< -o $@ 错误的,因为我得到了正确的结果,而不是把它放进去 PATH_DOT := "/usr/bin/dot" 或 如果点位于路径中,则以下规则将创建图形: dependency-graph.png: dependency-graph.txt type -p dot &&am

作为我项目的一部分,我正在创建一个不同模块依赖关系的图表

dependency-graph.png: dependency-graph.txt
        dot -Tpng $< -o $@
错误的,因为我得到了正确的结果,而不是把它放进去

PATH_DOT := "/usr/bin/dot"


如果点位于路径中,则以下规则将创建图形:

dependency-graph.png: dependency-graph.txt
        type -p dot && dot -Tpng $< -o $@
dependency-graph.png:dependency-graph.txt
类型-p点和点-Tpng$<-o$@

向我们展示您的尝试,因为您需要知道的是:为什么没有成功?我们需要查看的makefile部分,您没有提供:您展示了如何将
dependency graph.png
用作目标,但重要的是如何将其用作先决条件:这就是您需要更改的内容。如果规则从未被调用,那么它就不会受到伤害,如果没有
dot
,他们就无法创建它,所以如果它不存在,你需要确保它不是任何东西的先决条件。尝试创建一个最小的示例就到此为止。现在扩展它。
PATH_DOT := "/usr/bin/dot"
PATH_DOT := ""
dependency-graph.png: dependency-graph.txt
        type -p dot && dot -Tpng $< -o $@