运行 两个并行制作假目标
Run two make phony targets in parallel
我(误)使用 make
的虚假目标来方便地在我的项目中做各种随机的事情。例如:
.PHONY: css
css:
@(sass foo.scss foo.css)
但有时这些命令会 运行 永远,直到我明确地杀死它们。例如,当 sass
正在监视文件的更改时:
.PHONY: watch_css
watch_css:
@(sass --watch foo.scss:foo.css)
这很好,但有时我想在一个目标中组合多个配方:
.PHONY: watch_css1
watch_css1:
@(sass --watch foo1.scss:foo1.css)
.PHONY: watch_css2
watch_css2:
@(sass --watch foo2.scss:foo2.css)
.PHONY: watch
watch: watch_css1 watch_css2
如何让 make watch
到 运行 同时 watch_css1
和 watch_css2
并行?如果我明确地做 make -j2 watch
一切正常,但有没有办法将其嵌入到 makefile 本身?
您可以运行递归地进行:
watch:
$(MAKE) -j2 watch_css1 watch_css2
我(误)使用 make
的虚假目标来方便地在我的项目中做各种随机的事情。例如:
.PHONY: css
css:
@(sass foo.scss foo.css)
但有时这些命令会 运行 永远,直到我明确地杀死它们。例如,当 sass
正在监视文件的更改时:
.PHONY: watch_css
watch_css:
@(sass --watch foo.scss:foo.css)
这很好,但有时我想在一个目标中组合多个配方:
.PHONY: watch_css1
watch_css1:
@(sass --watch foo1.scss:foo1.css)
.PHONY: watch_css2
watch_css2:
@(sass --watch foo2.scss:foo2.css)
.PHONY: watch
watch: watch_css1 watch_css2
如何让 make watch
到 运行 同时 watch_css1
和 watch_css2
并行?如果我明确地做 make -j2 watch
一切正常,但有没有办法将其嵌入到 makefile 本身?
您可以运行递归地进行:
watch:
$(MAKE) -j2 watch_css1 watch_css2