linux下简单makefile编写

来源:互联网 发布:合肥seo整站优化 编辑:程序博客网 时间:2024/05/17 00:18
Makefile的粗略规则。

    target ... : prerequisites ...
            command
            ...
            ...

    target也就是一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label),对于标签这种特性,在后续的“伪目标”章节中会有叙述。

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

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


更简单的说就是一个.o或者是最终可执行文件加一个:后加它编译索要依靠的文件,当然这是自己的理解:)

然后的命令就是你在shell下敲入的命令,比如:g++ ,gcc……

edit : main.o kbd.o command.o
            gcc -o edit main.o kbd.o command.o

    main.o : main.c defs.h
            gcc -c main.c
    kbd.o : kbd.c defs.h command.h
            gcc -c kbd.c
    command.o : command.c defs.h command.h
            gcc -c command.c

clean:
             rm edit main.o kdb.o command.o


为了方便并防止代码打多了容易出现不易查觉得错误,可以:
objects = main.o kbd.o command.o display.o
在makefile开始的地方加上这句,然后在makefile中用$(objects)代替等号后的内容。

更方便一点的还有利用make的自动推导,原理是让make自己去寻找和.o文件同名名的.c文件,你只要加入.h文件就可以,也不用写shell命令。

最后如果你想重新编译,只要执行make clean就可以把原来有的.o和可执行文件都删掉:)

就是这么简单的内容,不过makefile 博大精深,掌握了它才有在linux下开发大型程序的资格,我们共同努力吧。
                                                                                               lyingwuyi@gmail.com
原创粉丝点击