0
我无法理解为什么Make会运行“lib”-recipe,即使文件已经存在。 只要“$(LIBBIN)”不在.PHONY中,它不应该被忽略吗?Make:运行配方,即使前提条件存在
这是来自相关Makefile的摘录(ts = 2,参见“TODO”)。
.PHONY: all clean default apps lib examples
default: lib
all: apps lib examples
apps: $(APPBINS)
lib: $(LIBBIN)
examples: $(EXBINS)
$(LIBBIN): % : %.$(VERSION)
# TODO -f should really not be necessary. why is the recipe run, when the file exists?
ln -sf $^ [email protected]
$(LIBBIN).$(VERSION): $(LIBOBJECTS) | $(LIBOUTDIR)
$(CC) $^ -o [email protected] $(LIBLDFLAGS)
chmod 755 [email protected]
我希望你大师的人知道答案;-)
亲切的问候, yogo1212
编辑:也许我应该说,我已经试着让prereqs 。的lib和所有订单。没有可见的效果。
EDIT2:事实证明,这确实有效。该链接文件似乎有一个时间戳了一分钟,令人困惑。 重新创建文件夹结构并重新启动后,现象消失。
你是对的。我将整个项目复制到另一个分区,并按预期工作。 直到重新启动计算机才能使用原始副本,尽管 – Banyoghurt 2014-09-29 13:22:10