使用 makefile 运行生成汇总,即使文件没有更改
Generating roll-up with makefile runs even if files don't change
我正在尝试制作所有生成的汇总文件 css。 bin/generateTemplates
脚本处理从其嵌套目录中提取所有 *.less
文件并在 build/gui.css
中生成汇总。但是,即使 LESS_FILES
中的 none 个文件发生更改,它仍然会触发脚本到 运行。
我假设我在 one:many 关系上做错了什么。
...
BUILDDIR := build/
LESS_FILES := $(shell find views -type f -name '*.less')
CSS_FILE := build/gui.css
$(CSS_FILE): $(LESS_FILES) $(BUILDDIR)
bin/generateTemplates
.PHONY: all
all: $(CSS_FILE)
...
您没有说明它是如何创建或使用的,但通常您不应将 $(BUILDDIR)
(或任何其他目录)列为目标的先决条件,除非在非常特殊的情况下。每当在该目录中创建、删除或重命名文件时,该目录的修改时间就会更新,因此每次发生这种情况时,$(CSS_FILE)
目标都被认为是过时的,因为目录修改时间较新。
我正在尝试制作所有生成的汇总文件 css。 bin/generateTemplates
脚本处理从其嵌套目录中提取所有 *.less
文件并在 build/gui.css
中生成汇总。但是,即使 LESS_FILES
中的 none 个文件发生更改,它仍然会触发脚本到 运行。
我假设我在 one:many 关系上做错了什么。
...
BUILDDIR := build/
LESS_FILES := $(shell find views -type f -name '*.less')
CSS_FILE := build/gui.css
$(CSS_FILE): $(LESS_FILES) $(BUILDDIR)
bin/generateTemplates
.PHONY: all
all: $(CSS_FILE)
...
您没有说明它是如何创建或使用的,但通常您不应将 $(BUILDDIR)
(或任何其他目录)列为目标的先决条件,除非在非常特殊的情况下。每当在该目录中创建、删除或重命名文件时,该目录的修改时间就会更新,因此每次发生这种情况时,$(CSS_FILE)
目标都被认为是过时的,因为目录修改时间较新。