Makefile基础知识(学习笔记)

Make简介
 —— 工程管理器,顾名思义,是指管理较多的文件
 —— Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它
 能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同
 时,它通过读入的Makefile文件的内容来执行大量的编译工作。
 —— Make将只编译改动的代码文件,而不用完全编译。
 
 Makefile基本结构
 —— Makefile是Make读入的唯一配置文件
    —— 由make工具创建的目标体(target),通常是目标文件或执行文件
    —— 要创建的目标体所依赖的文件(dependency_file)
    —— 创建每个目标体时需要运行的命令(command)
    —— 注意:命令行前面必须是一个"TAB键",否则会编译错误
    
    Makefile格式
        target: dependency_file
            command
    例:
        hello.o: hello.c hello.h
            gcc -c hello.c -o hello.o
    
 make命令
 —— make命令格式
        make [options] [target]
    
    选项    含义
    -C        dir读入指定目录下的Makefile
    -f        file读入当前目录下的file文件作为Makefile
    -i        忽略所有的命令执行错误
    -I        dir指定被包含的Makefile所在目录
    -n        只打印要执行的命令,但不执行这些命令
    -p        显示make变量数据库和隐含规则
    -s        在执行命令时不显示命令
    -w        如果make在执行过程中改变目录,打印当前目录名
    
 Makefile的隐含规则
 —— 隐含规则1:编译C程序的隐含规则
    "<n>.o"的目标的依赖目标会自动推导为"<n>.c",并且其生成的命令
    是"$(CC) -c $(CPPFLAGS) $(CFLAGS)"
 —— 隐含规则2:链接Object文件的隐含规则
    "<n>"目标依赖"<n>.o",通过运行C的编译器来运行链接程序生成(
    一般是"ld"),其生成命令是:"$(CC) $(LDFLAGS) <n>.o"
    
    
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值