有一条命令如下:
nroff -man flip.1 > flip.man
该命令会编译文件flip.1,并将输出保存在flip.man
写一个Makefile, 用make man来执行它,如果这样写:
all: man
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