红联Linux门户
Linux帮助

一个简单的MakeFile

发布时间:2011-07-09 14:55:30来源:红联作者:21527S
安装了linux后,我想大多数程序员很想做的一件事就是开始编写自己的程序在上面跑跑了吧!下面是小弟自己编写的一个小程序(大虾不要骂啊)!和大家分享一下!

//源程序 test4_3.c

//功能:输入一个int型的数,乘以2输出

#include

int main(void)
{
int input=0;
printf("Enter an integer:");
scanf("%d",&input);
printf("Twice the number you supplied is %d\n",2*input);
return 0;
}



//makefile文件(不加任何后缀)

test4_3: test4_3.o
gcc -o test4_3 test4_3.o
test4_3.o: test4_3.c
gcc -c -g test4_3.c
clean:
rm -i test4_3.o



规则简介
  makefile 中的规则是这样的:
  TARGET... : DEPENDENCIES ...
   COMMAND
   ...

  目标(TARGET)程序产生的文件,如可执行文件和目标文件;目标也可以是要执行的动作,如“clean”。
  依赖(DEPENDENCIES)是用来产生目标的输入文件,一个目标通常依赖于多个文件。
  命令(COMMAND)是make 执行的动作,一个可以有多个命令,每个占一行。
  注意:每个命令行的起始字符必须为TAB 字符!

  有依赖关系规则中的命令通常在依赖文件变化时负责产生target 文件,make 执行这些命令更新或产生target。规则可以没有依赖关系,如包含target “clean”的规则。

  规则解释如何和何时重做该规则中的文件,make 根据依赖关系执行产生或更新目标;规则也说明如何和何时执行动作。有的规则看起来很复杂,但都符合上述模式。

由于"clean"并不是"edit"的依赖,在运行make 时没有参数时,这条规则不会执行;要执行这个规则,必须运行"make clean"。
文章评论

共有 6 条评论

  1. 天冷了 于 2012-08-20 17:28:49发表:

    学习了

  2. houdezaiwu1991 于 2012-08-01 11:24:53发表:

    简单受用

  3. 木瓜~ 于 2012-03-19 15:30:32发表:

    学习一下

  4. wst021 于 2011-07-10 07:58:32发表:

    多动手从小做起,经验积累更实际。

  5. sw6121403 于 2011-07-09 23:11:25发表:

    支持下,拿分走人

  6. Sednol 于 2011-07-09 16:31:52发表:

    支持下