Makefile隐式调用g ++

时间:2016-01-19 14:42:52

标签: c++ makefile

我从OpenGL的教程中得到了一个奇怪的makefile:

LDLIBS=-lglut -lGLEW -lGL -lm
all: cube
clean:
        rm -f *.o cube
cube: shader_utils.o
.PHONY: all clean

源代码包含3个文件:cube.cpp,shader_utils.h和shader_utils.cpp。我通过做">来编译项目。制作立方体"但我不了解立方体目标,为什么要调用g ++。我没有指定使用g ++既不使用标志LDLIBS。

2 个答案:

答案 0 :(得分:2)

您观察到的是由GNU Make Implicit Rules引起的。您甚至可以执行以下操作(根本没有Makefile):

make -f /dev/null shader_utils.o

答案 1 :(得分:0)

这些只是gmake中的默认设置(从.cpp或.c生成.o的默认规则)。它很少适用于现实生活 - 很可能,你想为g ++提供一些论据。