我的Makefile中的一條規則將整個目錄(res/
)壓縮成ZIP文件。很顯然,這個規則需要在res/
目錄下的任何文件更改時執行。因此,我希望規則具有該目錄下所有文件的先決條件。我怎樣才能實現這個規則?Makefile規則依賴於目錄下的所有文件(包括子目錄下)
在Bash with the globstar
option enabled中,您可以使用通配符res/**/*
獲得該目錄中所有文件的列表。然而,這似乎並沒有,如果你將它指定爲在Makefile的前提工作:
touch
filename.jar: res/**/*
荷蘭國際集團在res/
文件,使報告仍然
make: `filename.jar' is up to date.
所以顯然這是不認識模式。
如果我宣佈了目錄本身作爲一個先決條件:
filename.jar: res
然後讓不會重新執行,當一個文件被修改(我認爲make
只着眼於目錄本身,修改日期只當直接的孩子被添加,移除或重命名時改變)。
的可能重複[Makefile文件:取決於目錄的所有文件(http://stackoverflow.com/questions/5656913/makefile-depends-on-every-file-of-a-directory) –