Makefile:如果源更改,则重建目标
Makefile: rebuild target if its source changes
我在 PHP 项目中得到了这个 Makefile(这是从完整的 Makefile 中删减的)。我该如何更改它以便 automake 检测到 public/assets/styles/main.scss
已更改并重新 运行 sass?
all: public/assets/styles/styles.css
public/assets/styles/styles.css:
sass public/assets/styles/main.scss > public/assets/styles/styles.css
只需将 .scss
文件作为 .css
目标的先决条件。作为奖励,避免重复你的基本路径并使用 automatic variables 来减少食谱的冗余:
STYLEDIR := public/assets/styles
all: $(STYLEDIR)/styles.css
$(STYLEDIR)/styles.css: $(STYLEDIR)/main.scss
sass $< > $@
我在 PHP 项目中得到了这个 Makefile(这是从完整的 Makefile 中删减的)。我该如何更改它以便 automake 检测到 public/assets/styles/main.scss
已更改并重新 运行 sass?
all: public/assets/styles/styles.css
public/assets/styles/styles.css:
sass public/assets/styles/main.scss > public/assets/styles/styles.css
只需将 .scss
文件作为 .css
目标的先决条件。作为奖励,避免重复你的基本路径并使用 automatic variables 来减少食谱的冗余:
STYLEDIR := public/assets/styles
all: $(STYLEDIR)/styles.css
$(STYLEDIR)/styles.css: $(STYLEDIR)/main.scss
sass $< > $@