我有一个makefile,它运行需要一段时间的命令。如果构建是从交互式shell启动的,但是不安静(特别是通过cron),那么我会希望这些命令很健谈。 (伪代码):如何判断makefile是否从交互式shell运行?
foo_opts = -a -b -c
if (make was invoked from an interactive shell):
foo_opts += --verbose
all: bar baz
foo $(foo_opts)
这是GNU make。如果我所做的事情的细节很重要,我可以编辑这个问题。
对不起,你的游行队伍下雨了,但是它告诉你你运行的shell是否是交互式运行的,但是在makefile里面,你运行的任何shell都会声称它是非交互式运行的,即使`make`是本身从交互式shell运行。证明:`makefile`包含``all:; echo“Shell:$$ - ”`“并运行'make',它不会在输出中包含'i'。 (在我的Mac上,从我的交互式shell中,'make'与'himBH'相比'hBc')。 – 2010-11-23 00:25:16
嗯..也许OP可以检查shell中调用make并设置环境变量在makefile中捕获。 – Naveen 2010-11-23 00:33:14
环境变量排序 - 大多可用,但不是很令人满意。 – 2010-11-23 01:13:13