Re: [問題] 有可能在makefile中得到ln指令的結果嗎
※ 引述《nothingptt.bbs@ptt.cc (這該死的溫柔)》之銘言:
> 感謝大家的幫忙,我後來改寫成下面的樣子
> ln -fs aaa bbb
> ifeq (0,$?)
> @echo OK
> else
> @echo Fail
> endif
> 我發現顯示的結果永遠是 Fail,這是為什麼,我用 echo $? 成功是0,失敗是1
> 另一個比較麻煩的是,如果 ln 執行錯誤(例如權限不足),
> 則 make 過程會被強制中斷,顯示 make: *** Error 1 之類的。
> 我希望是能繼續執行,不要中斷的
> 這要如何解決呀
> ※ 引述《nothingptt (這該死的溫柔)》之銘言:
> : 我在 makefile 中寫了
> : SHELL_RESULT := $(shell ln file file_link)
> : 可是不論 ln 的結果是成功或失敗
> : SHELL_RESULT 都是空的
> : 有什方法可以知道我執行 ln 這個指令是否成功嗎?
如果你是要解決makefile中,忽略指令失敗.
這是很簡單的,只需要在指令前面加一個'-'.
例如:
clean:
-rm -f *.o
你的指令就變成
-ln -fs aaa bbb
參考資料:
http://sunsite.ualberta.ca/Documentation/Gnu/make-3.79/html_chapter/make_5.html#SEC48
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw>
◆ From: porpoise @ 59-112-112-145.dynamic.hinet.net
討論串 (同標題文章)