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 $