有没有办法在编辑构建所需的文件之一时自动运行 make ?
相关问题:配置 makefile 在文件更改时运行,但这只针对 Mac OS X 有答案 - 如果可能的话,我想要一个更通用的解决方案(尽管我实际上针对的是 Linux)。
答案1
没有通用的解决方案——每个操作系统都有自己的文件监控 API。在 Mac OS X 上是 FSEvents,在 Linux 上是 inotify 或 fanotify,在 BSD 上是 kqueue。
在 Linux 上,你可以使用因克龙或者使用以下脚本编写通知等待:
#!/usr/bin/env bash
inotifywait -r -m -q -e close_write ~/project \
| while read path event file; do
if case $file in
autogenerated.h) false;; # ignore a specific file to avoid loops
*.c|*.h|Makefile) true;; # watch all .c, .h files, the Makefile
*) false;; # ignore all other files to avoid loops
esac; then # (specifically, you MUST ignore auto-
(cd ~/project && make) # -generated files)
fi
done