使 Makefile 成为其自身规则之一的依赖项有什么好处吗?
Is there any benefit to making a Makefile a dependency of one of its own rules?
前几天我在 Makefile 中看到了这个:
%.elf: $(OBJS) $(LDSCRIPT) Makefile
$(Q)$(LD) -o $(*).elf $(OBJS) $(LDFLAGS)
这个有什么用?
假设此规则是所有其他规则的 "parent"(即所有目标都需要此规则),将 Makefile 本身作为依赖项可确保如果 $(OBJS)
被修改,无论 .elf
输出的状态如何,您的目标都将重新链接,因为 Makefile
的最后修改日期将发生变化。
有点像自我修复机制
前几天我在 Makefile 中看到了这个:
%.elf: $(OBJS) $(LDSCRIPT) Makefile
$(Q)$(LD) -o $(*).elf $(OBJS) $(LDFLAGS)
这个有什么用?
假设此规则是所有其他规则的 "parent"(即所有目标都需要此规则),将 Makefile 本身作为依赖项可确保如果 $(OBJS)
被修改,无论 .elf
输出的状态如何,您的目标都将重新链接,因为 Makefile
的最后修改日期将发生变化。
有点像自我修复机制