我想使用以下配方使用 GNU Make 生成许多文件。
ina_as%.dat: ina_driver.m ina_as$(word 1,$(subst _epsi, , %)).m
echo "modelType = '$(word 1,$(subst _epsi, , $*))'; ofile = '$@'; epsi = '$(word 2,$(subst _epsi, , $*))';" | cat - $< | nohup matlab -nodesktop -nosplash
目标采用格式——ina_as%d_epsi%.2f.dat(例如ina_as1_epsi0.50.dat),第二个先决条件是ina_as%dm(例如ina_as1.m)(注意,第二部分_epsi%.2f在先决条件文件名)。
我已经为隐式规则尝试了几种组合($ , $$, $(eval $*) 等),但它仍然不起作用。我认为这可能是因为 Make 无法理解依赖定义中的函数( '$(word 1,$(subst _epsi, , %))' )。
有什么办法可以克服这个问题?
谢谢。