制作不够通用吗?
makedepend,autoconf,automake所有工作来构建Makefile。是否有一个缺陷会导致某种语言的这种用法被打破?
ant,Bazel,Maven或其他系统如何编译或构建项目比make更好?
答案 0 :(得分:1)
make
来自Unix,通常对#34;如果你有X,你需要做Y才能得到Z"一次一个文件(比如在C源上调用C编译器)。所有autoconf / automake / configure工具都是将C程序定制到实际平台,并且基本上不与make重叠。
这对Java来说效果不佳,因为编译器编译多个文件的速度很快,但启动JVM的开销太高,无法一次编译一个文件。因此,需要采用不同的方法。首先是普通的javac,然后是ant(出于所有实际目的,它是一种脚本语言),然后是maven(这不是因为这是一个坏主意)。
因此,答案是针对不同的需求产生了不同的工具。