我有一個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