我正在使用《高级Linux编程(2001)》[代码]一书中的Makefile 。看到GNU make确实正确编译了代码,甚至没有在Makefile中指定编译器,我感到很奇怪。这就像没有任何食谱的烘烤!
这是代码的最低版本:
测试
int main(){}
生成文件
all: test
并使其真正起作用!这是它执行的命令:
cc test.c -o test
我找不到任何有用的文档。这怎么可能?
PS另加一点注意:甚至没有指定语言;因为test.c
可用,所以GNU make
使用cc
。如果存在test.cpp
或test.cc
(不存在test.c
),则使用g++
(而不是c++
)。
@Rymoid就像大喊大叫:我要蛋糕!然后一个叫做的机器人
—
Ho1
make
检查您的冰箱,发现有面粉可用,然后从其内部食谱为您烤一个默认的蛋糕。:-)
@ Ho1:机器人可能会问,先生,您想吃哪个蛋糕?:):D
—
Suchhi'1
make
我们烧开水,并使用其内部规则,make
只会弄清楚如何;)