Linux系统编程 35 -makefile基础规则
学习笔记
脚本:把一些列命令集合放在一个文件中,批量执行。
makefile的知识点初期入门
1个规则
2个函数
3个自动变量
规则
若想生成目标,检查规则中依赖是否存在,如不存在,
则寻找是否有规则用来生成该依赖文件
目标: 依赖条件
(一个tab缩进)命令
一个tab缩进,不能多也不能少
1.目标
2.依赖条件
3.命令
这三部分称之为一个规则
$cd 35maketest/
$ls
hello.c
$cat hello.c
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<pthread.h>
int main(int argc, char *argv[])
{
return 0;
}
makefile的命名有两种
1.$touch makefile
2.$touch Makefile
$cat makefile
hello:hello.c
gcc hello.c -o hello
输入make
$make
gcc hello.c -o hello
$ls
hello hello.c makefile
,如不存在,
则寻找是否有规则用来生成该依赖文件
这句话的理解
gcc 编译有四步
gcc -c hello.c -o hello.o
gcc hello.o -o hello
$cat makefile
hello:hello.o
gcc hello.o -o hello.out
hello.o:hello.c
gcc -c hello.c -o hello.o
make 是一个命令工具,它解释 Makefile 中的指令(应该说是规则)。
在 Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。
$make
gcc -c hello.c -o hello.o
gcc hello.o -o hello.out
$./hello.out
$