您的位置:首页 > 运维架构 > Linux

Linux环境下MakeFile文件编写

2015-01-24 17:02 246 查看
贵有恒,坚持...

花了一天时间,把TLD算法的Linux环境搭建起来,尝试在摄像头中追踪自己的头像,欣喜之余,成就感更甚。很喜欢这个方向,以后也希望慢慢的能转到这个方向,慢慢积累,向大牛们靠近。

上学的时候为找工作,临时抱佛脚学过一段linux编程,今天写了一段代码,竟然不会写MakeFile,写段日志备忘。

1、MakeFile的规则

在讲述这个MakeFile之前,还是让我们先来粗略地看一看MakeFile的规则。

target ... : prerequisites ...

command

...

...

target也就是一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label )

prerequisites就是,要生成那个target所需要的文件或是目标。

command也就是make需要执行的命令。(任意的Shell命令)

这是一个文件的依赖关系,也就是说,target这一个或多个的目标文件依赖于prerequisites中的文件,其生成规则定义在command中。prerequisites中如果有一个以上的文件比target文件要新的话,command所定义的命令就会被执行。

注意:command前面是tab分割符,不能用空格,否则会出现:“makefile:2:
*** 遗漏分隔符 。 停止”的错误提示。

2、附上OpenCV的编译的MakeFile

//==============================================

OBJS=main.o

CC=g++

CFLAGS=-Wall -O -g `pkg-config --cflags opencv`

LIBS = `pkg-config --libs opencv`

LightFlow : $(OBJS)

$(CC) $(LDFLAGS) $(OBJS) -o LightFlow $(LIBS)

main.o : main.cpp

$(CC) $(CFLAGS) -c main.cpp -o main.o

clean:

rm -rf *.o LightFlow

//================================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: