makefile(1)

先从最简单的makefile说起:

//main.c
int main()
{
printf("hello world\n");
return 0;
}

 

main:main.o
TAB键gcc -o main main.c
clean:clean.o
TAB键rm -rf main.o main


改错题:

main:main.c
	CC $< -o main


提示:CC是make的缺省变量,默认为cc。$<为所有依赖文件。

常见的缺省变量还有:

CFLAGS:值为空

CPPFLAGS:值也应该是空

符号:

$<:第一个依赖文件

$?:新的依赖文件

$(变量名):

$@:目标文件

$^:所有依赖文件

 正确写法:

main:main.c
	$(CC) $< -o main

关于变量:有一个立即展开和延迟展开的说法

var1:=$(var2)
var2=smile
object:
	@echo $var1


分别make一下,比较上面这个和下面这个的区别

var1=$(var2)
var2=smile
object:
	@echo $var1


延迟展开:如果变量的定义在后面,也能认识这个变量

立即展开:如果变量定义在后面,这个变量当前为空

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值