Linux系统编程 35 -makefile基础规则

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 
$


 

上一篇:大学英语


下一篇:Go语言之goroutine和通道