0
我想写一个条件编译规则。如果源文件包含两个连续的美元符号,我想要执行一个额外的步骤(latexMathToWeb)。问题是自动变量$ <没有被传递给shell(所以grep想要从stdin读取)。这里是我的规则至今:如何将自动变量传递给makefile中的shell?
%.xml : %.q
ifeq ($(shell grep \\$$\\$$ $< ; echo $$?),0)
echo building math containing xml for $*...
quiz2xml $< | latexMathToWeb > [email protected]
else
echo building non math xml for $*...
quiz2xml $< > [email protected]
endif
我现在有这个问题,通过使用一个简单的shell脚本来作出决定,做构建解决,但它会更好,如果我能做到这一切在makefile。
缺少续行使我几秒钟,但我从你的原始答案中找出它。非常感谢!现在看起来很明显。 – user13430
最初吹的道歉。真高兴你做到了。这种困惑发生了很多。事实上,我只是在前一天回答了另一个问题(不同情况)。 –
也许这不是正确的地方问(我是新来的stackoverflow,你可以告诉),但为什么你会使用parse-time结构ifeq(例如),如果你可以只是交出条件的shell在运行时?也许不需要线路延续? – user13430