SOURCES: 我们需要参与进编译的源码文件,如.c、.cpp......
INCLUDE: 外部包含的头文件,如果在当前文件夹下,则不用添加
LIBS: 编译涉及到的库
OBJECTS: 编译产生的目标文件,也就是.o文件,我们可以把编译用到的源文件名加上后缀.o,如 a.o b.o......我们看到上面使用了 $(SOURCES:.cpp=.o),这其实相当一个命令,把源文件的 .cpp后缀改为 .o
TARGET: 就是生成可执行文件的名字
$(TARGET) : $(OBJECTS): 对编译好的文件进行连接以生成可执行文件,连接时要将头文件、库添加进来
$(OBJECTS) : $(SOURCES): 对源文件进行编译
clean: 清除编译产生的目标文件和可执行文件
上面我们的编译器使用的是 g++,根据需要也可修改为 gcc或者其他编译器。
下面提供一个编译Opencv常用的 makefile 文件