Makefile中的幾個常見的符號及其含義


= 是最基本的賦值

:= 是覆蓋之前的值

?= 是如果沒有被賦值過就賦予等號后面的值

+= 是添加等號后面的值

“=”和“:=”的區別:

      1、“=”

      make會將整個makefile展開后,再決定變量的值。也就是說,變量的值將會是整個makefile中最后被指定的值。看例子:

            x = foo
            y = $(x) bar
            x = xyz

      在上例中,y的值將會是 xyz bar ,而不是 foo bar 。

      2、“:=”

      “:=”表示變量的值決定於它在makefile中的位置,而不是整個makefile展開后的最終值。

            x := foo
            y := $(x) bar
            x := xyz

      在上例中,y的值將會是 foo bar ,而不是 xyz bar 了。

ref:https://www.cnblogs.com/wanghuaijun/p/8092747.html

 

 

'@'     符號的使用
      通常makefile會將其執行的命令行在執行前輸出到屏幕上。如果將‘@’添加到命令行前,這個命令將不被make回顯出來。
      例如:@echo  --compiling module----;  // 屏幕輸出  --compiling module----
                                echo  --compiling module----;  // 沒有@ 屏幕輸出echo  --compiling module----    

 

 
' - ' 符號的使用
     
     通常刪除,創建文件如果碰到文件不存在或者已經創建,那么希望忽略掉這個錯誤,繼續執行,就可以在命令前面添加 -,
     -rm dir;
     -mkdir aaadir;
ref:https://blog.csdn.net/u012989012/article/details/80572043


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM