Makefile中目标文件不是真正的文件时

本文介绍了一个具体的Makefile案例,展示了如何正确地设置依赖关系以避免不必要的编译步骤。通过对比两种不同的Makefile写法,解释了如何利用目标文件而非标识符进行依赖检查,确保只有在源文件更改时才重新编译。
有一条命令如下:
nroff -man flip.1 > flip.man
该命令会编译文件flip.1,并将输出保存在flip.man

写一个Makefile, 用make man来执行它,如果这样写:
all: man

man: flip.1
    nroff -man flip.1 > flip.man

这里因为man并不是一个文件,只相当于一个标识符,不能去比较man和flip.1的时间戳。因此每一次执行make man的时候,都会执行 nroff -man flip.1 > flip.man, 即使flip.1的时间戳没有改变。所以,应该写成这样:
all: man

man: flip.man

flip.man: flip.1
    nroff -man flip.1 > flip.man



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值