gnu make 手册 学习笔记 C语言 / C++ 构建工具 part.2 Makefile文件的基本写法

3.Makefile文件的基本写法

通常Makefile只有规则(rules) ,也可以有注释(text)

rule1:
target . . . :     prerequisites . . .                             #这种多见,
        recipe
        . . . 
        . . . 
或者
rule2:
target . . .:  prerequisites . . .; recipe           #就是使用  ;  然后后面可以写recipe
                recipe
                . . . 

3-1. rule

直译就是规则,就是一个target,并且规定了target的依赖,和执行的命令

3-1-1.target

1. 通常是生成的目标文件的名字,例如recipe中  gcc  -o  文件名字(target) ,一般使用变量来表示 gcc -o $@
2. 伪目标,相当于是一组命令的名字    例如  clean ,仅仅有recipe,没有生成文件

3-1-2.prerequisites

可以简单理解为依赖。可以是
依赖的文件,
依赖的target 
使用变量,所代表的文件或者target
可以是空,什么也没有。例子clean

3-1-3.recipe

简单说就是执行的命令。
例如前面的  gcc  $<  -o &@         #就是一个命令
		   @echo  " message "     #就是一个命令

这些命令需要在你的环境中可以直接使用。
就像在  linux中能使用 ls  ,    ms-dos中可以使用  dir一样,需要配置好命令的路径,才能正常使用。

第一个命令前面一般是tab来作为命令开始。

在recipe中需要注意**空格**
写在Makefile中的recipe会被make逐个写到shell中,命令的分隔就是**空格**,

3-1-4.简单例子Makefile

.PHONY : all print

all: compile 

print: 
	@echo "some message"        #打印一些信息在控制台
	
                                #compile这个target依赖文件HelloWorld.c和名为print的target 
compile:   HelloWorld.c    print                         
	gcc  $<  -o  &@
	                           #变量&@使用target作为生成文件的名字,变量$<使用第一个prerequires作为依赖
clean:
	rm -rf *.exe *.o

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值