如何编写n
目标,以监视特定文件夹中的任何文件更改并执行其他make目标来编译文件?我正在寻找一种可以做到这一点的方法,除了curl
本身之外,对工具的依赖性最小,以保持简单。
答案 0 :(得分:0)
观看时,您可以使用fswatch。 (这个程序的go版本可能更容易安装:fswatch)例如:
fswatch -ext cpp,c,h make -f Makefile
只要您更改cpp
,c
或h
文件,它就会再次运行。
Make可能有点慢,所以我倾向于使用ninja,但这实际上取决于项目的大小。
另一个选项是tup,它内置了观看功能:
tup monitor
但遗憾的是,仅适用于Linux。
答案 1 :(得分:0)
您可以使用entr并像这样调整Makefile
.DEFAULT_GOAL := run
SHELL := /bin/bash
run:
clear && \
cp one.txt two.txt && \
rm -f _* *.l2m *.o2m && \
Ganlib < testgan2.x2m
watch:
while sleep 1 ; do find . -name '*.x2m' -o -name '*.c2m' \
| entr -d make -f ./Makefile ; done
.PHONY: run watch
之后
$ make watch