码迷,mamicode.com
首页 > 其他好文 > 详细

002编程基础----makefile

时间:2014-07-13 08:21:39      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:使用   文件   管理   re   ar   c   

一、总述

make来构建和管理自己的软件工程。

GNU的make能够使整个软件工程的编译、链接只需要一个命令就可以完成。

make 在执行时,需要一个命名为Makefile的文件。

Makefile文件描述了整个工程的编译,链接规则。包括:

1、工程中哪些文件需要编译

2、需要创建哪些文件

3、如何创建这些文件

4、如何产生我们想要的可执行文件。

例如:

hello: main.o func1.o func2.o

  gcc main.o func1.o func2.o -o hello

main.o:main.c

  gcc -c main.c

fun1.o:func1.c

  gcc -c func1.c

func2.o:func2.c

  gcc -c func2.c

二、Makefile术语

1、规则:用于说明如何生成一个或多个目标文件,格式如下:

target:prerequisites

  command

即,目标  依赖  命令

main.o:main.c

  gcc -c main.c    命令需要tab键

make命令默认在当前目录下寻找名字为makefile或者Makefile的工程文件,当名字不为两者之一时,可以使用如下方法指定:

make -f 文件名

2、伪目标

Makefile中把那些没有任何依赖只有执行动作的目标称为“伪目标”(phony targets)。

.PHONY : clean

clean:

  rm -f hello main.o func1.o func2.o

".PHONY"将“clean”目标声明为伪目标。

3、变量

obj=main.o func1.o func2.o func3.o

hello:$(obj)

  gcc $(obj) -o hello

另外,makefile中,存在系统默认的自动化变量

$^:代表所有的依赖文件

$@:代表目标

$<:代表第一个依赖文件

改写:

hello:main.o func1.o func2.o

  gcc $^ -o $@

4、杂项

makefile中“#”字符后的内容被视作注释

hello:hello.c

  @gcc $^ -o $@

第一个“@”用于取消回显。

002编程基础----makefile,布布扣,bubuko.com

002编程基础----makefile

标签:使用   文件   管理   re   ar   c   

原文地址:http://www.cnblogs.com/liutianyi10/p/3837969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!