linux C编程 Makefile的使用

来源:互联网 发布:java -classpath 用法 编辑:程序博客网 时间:2024/05/21 09:33

Makefile的作用就是“自动化编译“

一、Makefile基本规则

下面给出几个简单实例:

第一步:分别用vim创建prog.c code.c code.h三个文件

prog.c

#include <stdio.h>#include "code.h"int main(void){    int i = 1;          printf ("myfun(i) = %d\n", myfun(i));}

code.c

#include "code.h"int myfun(int in){    return in + 1;}


code.h

extern int myfun(int);


第二步:创建Makefile文件

$vim Makefile

test: prog.o code.o        gcc prog.o code.o -o testprog.o: prog.c code.h        gcc -c prog.c -o prog.ocode.o: code.c code.h        gcc -c code.c -o code.oclean:        rm -f *.o test


ps:Makefile的一般写法规则:

test(目标文件):prog.o cose.o(依赖文件列表)

tab(至少一个tab的位置,不是space)gcc prog.o code.o -o test

一个Makefile文件主要含有一系列的规则,每条规则包含一下内容:一个目标,即make最终需要创建的文件,如可执行文件和目标文件;目标也可以是要执行的动作,如‘clean’;一个或多个依赖文件的列表,通常是编译目标文件所需要的其他文件。之后的一系列命令,是make执行的动作,通常是把指定的相关文件编译成目标文件的编译命令,每个命令占一行,并以tab开头(初学者务必注意:是tab,而不是空格)