1
我想使用make作爲可重複研究的工具。這項研究涉及到一個長的管道,我會爲許多獨立的數據集運行,要求我將「僞使」描述如下工作流程:Make中靜態模式規則的語法有多靈活?
datasets = foo bar baz
$(datasets): path/to/result/%.dat:
./generate_dat_from %
$(datasets): path/to/figs/%.png: path/to/result/%.dat
./generate_png_from_dat path/to/result/%.dat
[etc.]
如果make是簡單地替代每個數據集的名稱對於'%',這將是我想要的。然而,GNU使手冊中有這樣說the syntax of static pattern rules:
當目標模式的目標時,'%」匹配可以匹配目標名稱的任何部分;這部分被稱爲幹。模式的其餘部分必須完全匹配。
這就解釋了爲什麼上面描繪的代碼不起作用。什麼是最好的方式來實現這個目標,或者使得這項工作根本就不是正確的工具?
在此先感謝,並且道歉,如果這個問題很糟糕 - 我是新來的,幾乎不知道如何表達這個問題。