亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在文件更改時自動執行make目標?

如何在文件更改時自動執行make目標?

Go
一只斗牛犬 2021-11-29 16:06:43
如何編寫一個make目標來監視特定文件夾中的任何文件更改并執行其他一些 make 目標來編譯文件?我正在尋找一種方法,它可以在對工具的依賴最小的情況下做到這一點,make以保持簡單。
查看完整描述

2 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

您可以使用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


查看完整回答
反對 回復 2021-11-29
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

對于觀看,您可以使用fswatch。(這個程序還有一個 go 版本,可能更容易安裝:fswatch)例如:

fswatch -ext cpp,c,h make -f Makefile

每當您更改cpp,ch文件時,它都會再次運行 make。

Make 可能會有點慢,所以我傾向于使用ninja來代替,但這實際上取決于您的項目的大小。

另一種選擇是tup,它內置了watch

tup monitor

但是,遺憾的是,僅適用于 linux。


查看完整回答
反對 回復 2021-11-29
  • 2 回答
  • 0 關注
  • 218 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號