我有两个看起来像这样的文件夹:
process:
raw:
a_1.x.txt a_2.x.txt b_1.x.txt b_2.x.txt
a_1.x.dat a_2.x.dat b_1.x.dat b_2.x.dat
这些txt文件是由另一个规则创建的二进制文件*.dat
的转储。我想创建一个make文件,它将汇集raw/%_#.txt
个文件以创建process/%.txt
。我可以用...来做到这一点。
process/a.txt : raw/a_1.x.txt raw/a_2.x.txt
cat $^ > $@
process/b.txt : raw/b_1.x.txt raw/b_2.x.txt
cat $^ > $@
...当我make process/a.txt
或make process/b.txt
时。但在我的现实生活中,我有一个,b,c等,每个文件在raw文件夹中都有可变数量的文件。所以,我想为我创建一个通用规则。
我试过......
.SECONDEXPANSION:
process/%.txt : $$(join $$(join raw/,%),$$(wildcard *.x.txt)))
cat $^ > $@
但make命令以
返回 make: *** No rule to make target 'process/a.txt'. Stop.
同上:
process/%.txt : $$(patsubst raw,process,$$(patsubst .txt, $$(wildcard *.x.txt),))
cat $^ > $@`
有什么建议吗?
答案 0 :(得分:2)
也许这会有所帮助:
echo !dynamic_sidebar( 'header_area' );