小白学makefile之一

makefile的重要不言自明,不懂的话可以去网上搜下资料,这里不再讲述。以下小白开始学习makefile:

 

某认为买几本基础的编程书籍挺重要。想要学好linux尤其是linux下编程的话还是需要下点本钱的,(喂,老兄,这身打扮就说你是孙悟空喽,下足本钱嘛,头发都开叉了,有点专业精神!@#¥——大话西游·菩提游客)这样才有专业精神,书籍很重要,可以帮我们节约很多的时间。要注意时间就是金钱,节约时间就是节约金钱倒是次要,提高效率才是真的:)

  这里不是说网上资料不全(虽然有时候确实不全),浪费时间的情况包括:1 搜索关键字不准确,定位百转千回;2 网络状况不稳定,比如有时候谷歌访问受限;3 内容资料专业但不系统。某比较喜欢博文,论坛偶尔也看,但从回答中筛选有用的信息也需要时间。一本好书能大概提示你所需要的东西。

  某知道的三本书都有简单介绍makefile:《Linux程序设计》《GNU/LINUX环境编程(第二版)》《GNU/LINUX编程指南(第二版)》

 

书里大同小异都这样讲的

make 命令会自动查找当前目录下的Makefile(注意首字母M是大写的)文件。然后执行Makefile里的脚本。学问就在于Makefile脚本的手法,makefile的威力也在于此。

最简单的一个Makefile文件:

main:
    gcc main.c

第一行的main是目标,或者可理解为任务名称。冒号后边跟随的第二行就是编译命令。

假如我们当前目录下只有 main.c 和 Makefile文件

main.c如下(经典的,简单的hello world)

#include <stdio.h>

int
main(int argc, char** argv)
{
    printf("hello world!\n");
    return 0;
}

那么,makefile就可以工作了。

$ make

相当于执行了一遍gcc main.c

自动生成了可执行文件a.out(如果不指定生成文件的名字,生成的缺省文件名是a.out,至于为什么是a.out而不是其他名字,《C专家编程》有些介绍)。

 

这就是简单的makefile用例,以后某会进阶学习makefile相关知识。

posted on 2012-05-15 14:10  jogger  阅读(2060)  评论(0编辑  收藏  举报

导航