91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

makefile(03)_條件判斷

發布時間:2020-07-04 15:46:59 來源:網絡 閱讀:1491 作者:三九感冒靈 欄目:系統運維

8.條件判斷語句

8.1.語法規則

Makefile中支持條件判斷語句,可以直接比較兩個不同變量的值和常量值。
注意:條件判斷語句只能用于控制make實際執行的語句,不能控制規則中命令的執行過程。
條件判讀語法說明:
makefile(03)_條件判斷
條件判斷關鍵字:
makefile(03)_條件判斷
示例:

.PHONY : test

var1 := A
var2 := $(var1)
var3 :=

test:
    ifeq ($(var1),$(var2)) 
        @echo "var1 == var2"
    else
        @echo "var1 != var2"
    endif

    ifneq ($(var2),)
        @echo "var2 is NOT empty"    
    else
        @echo "var2 is empty"    
    endif

    ifdef var2
        @echo "var2 is NOT empty"    
    else
        @echo "var2 is empty"    
    endif

    ifndef var3
        @echo "var3 is empty"    
    else
        @echo "var3 is NOT empty"    
    endif

輸出結果:
makefile(03)_條件判斷

8.2.工程經驗

1.條件判斷語句之前可有有空格,但不能有Tab字符(‘\t’)
2.在條件語句中不要使用自動變量( $@ $^ @<)
3.一條完整的條件語句必須位于同一個Makefile中
4.條件判斷類似C語言中的宏,預處理階段有效,執行階段無效
5.Make在加載Makefile時,首先計算表達式的值(賦值方式不同,計算方式不同),根據判斷語句單純表達式決定執行的內容。
問題,下面Makefile執行后是否相同??
makefile(03)_條件判斷
答案:不同,前者的賦值方式可以做在make加載Makefile時判斷出變量是否定義,而后者無法做出判斷。
示例:

.PHONY : test

var1 :=
var2 := $(var1)

var3 =
var4 = $(var3)

#var3 = 3 

test:
    ifdef var1 
        @echo "var1 is defined"
    else
        @echo "var1 is NOT defined"
    endif

    ifdef var2
        @echo "var2 is defined"    
    else
        @echo "var2 is NOT defined"    
    endif

    ifdef var3 
        @echo "var3 is defined"
    else
        @echo "var3 is NOT defined"
    endif

    ifdef var4
        @echo "var4 is defined"    
    else
        @echo "var4 is NOT defined"    
    endif

輸出結果:
makefile(03)_條件判斷

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

舒城县| 德保县| 邵东县| 澎湖县| 平原县| 华阴市| 平昌县| 阳东县| 察雅县| 伊金霍洛旗| 洮南市| 磐石市| 易门县| 云龙县| 石嘴山市| 石河子市| 且末县| 永平县| 漾濞| 青神县| 荃湾区| 兴城市| 深圳市| 安徽省| 修武县| 平原县| 洮南市| 台南市| 措勤县| 惠东县| 普宁市| 庄浪县| 温宿县| 三台县| 思茅市| 景德镇市| 张家口市| 天水市| 孟津县| 牙克石市| 隆安县|