亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 請(qǐng)求幫忙解釋下下面makefile的含義 [打印本頁(yè)]

作者: usdark    時(shí)間: 2014-07-14 14:23
標(biāo)題: 請(qǐng)求幫忙解釋下下面makefile的含義
BINARY_PREREQS = bin/.dummy

bin/.dummy:
        @if (: >> $@ || : > $@) >/dev/null 2>&1; then :; else \
          dir=bin $(MAKEDIR); fi
        @: >> $@ || : > $@ # what a fancy emoticon!

請(qǐng)求解釋下整段內(nèi)容,尤其是   : >> $@ || : > $@  是什么意思?
作者: 流氓無產(chǎn)者    時(shí)間: 2014-07-15 09:48
我的理解: :>>$@,看文件是否存在
:>$@,清空文件
作者: usdark    時(shí)間: 2014-07-16 17:30
你好,能具體解析一下為什么這么理解嘛。麻煩了
作者: qxhgd    時(shí)間: 2014-07-16 17:53
找本makefile的書看下吧
作者: 盡量不帥氣    時(shí)間: 2014-08-06 10:19
和makefile無關(guān)吧,這應(yīng)該是一堆正則表達(dá)式
作者: MMMIX    時(shí)間: 2014-08-06 14:11
盡量不帥氣 發(fā)表于 2014-08-06 10:19
和makefile無關(guān)吧,這應(yīng)該是一堆正則表達(dá)式


這是 Shell 腳本,和正則沒有關(guān)系。
作者: MMMIX    時(shí)間: 2014-08-06 14:12
qxhgd 發(fā)表于 2014-07-16 17:53
找本makefile的書看下吧


樓主理解不了的東西基本和 Makefile 無關(guān),都是些 shell 的東西。
作者: MMMIX    時(shí)間: 2014-08-06 14:23
回復(fù) 2# 流氓無產(chǎn)者


    || 后面的部分看起來有點(diǎn)多余。至少在 bash 下,空命令 `:` 始終返回成功。
作者: MMMIX    時(shí)間: 2014-08-06 14:29
本帖最后由 MMMIX 于 2014-08-06 22:09 編輯

回復(fù) 1# usdark


`$@` 是 Makefile 變量,表示當(dāng)前規(guī)則的目標(biāo);
`:` 是 shell 的空命令,始終返回成功;
`>` 和 `>>` 是 shell 的輸出重定向語法,表示將標(biāo)準(zhǔn)輸出寫入/追加到后面的文件中;
`||` 是 shell 的操作符,和 C 的 || 作用類似,左邊的表達(dá)式返回失敗,才執(zhí)行右邊的表達(dá)式。

在 `: >> $@ || : > $@` 中,`|| : > $@` 看起來有點(diǎn)多余,因?yàn)榍懊娴?`: >> $@` 始終會(huì)返回成功。
作者: super皮波    時(shí)間: 2014-08-06 15:35
回復(fù) 9# MMMIX
||好像是左邊的只有失敗才會(huì)執(zhí)行右邊的吧

   
作者: super皮波    時(shí)間: 2014-08-06 15:36
這里確實(shí)和makefile沒什么關(guān)系,都是些shell的語法
作者: MMMIX    時(shí)間: 2014-08-06 22:11
回復(fù) 10# super皮波


    對(duì)的,筆誤,已修正。Shell 中的 || 和 C 的 || 語義是一致的。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2