2016-04-25 10 views
0

共通のワークフローを持ついくつかのデータセットに対して、私が行っているデータ分析を実行するmakefileがあります。私は私が何ができると思いますしたいと思いますので...繰り返しのワイルドカードを使用してターゲットと依存関係を作成する

data/a/a.tax : code/a.sh code/a.x 
    bash $< 

data/b/b.tax : code/b.sh code/b.x 
    bash $< 

data/c/c.tax : code/c.sh code/c.x 
    bash $< 

のようなルールの数...

data/%/%.tax : code/%.sh code/%.x 
    bash $< 

を持っているしかし、それは(make: *** No rule to make target data/a/a.tax'. Stop)を動作していないよう

何がうまくいくと思いますか?

答えて

0

パターンルールのターゲットは唯一.SECONDEXPANSIONあなたは絶対にその特定のツリー構造を必要としない限り、code/a/a.shなどに前提条件を変更する方が簡単だろう、と述べた。この

.SECONDEXPANSION: 
data/%.tax: code/$$(notdir $$*).sh code/$$(notdir $$*).x 
    bash $< 

を回避することができ、単一%を含めることができます

data/%.tax : code/%.sh code/%.x 
    bash $< 
関連する問題