makefile中的@ $ :
生活随笔
收集整理的這篇文章主要介紹了
makefile中的@ $ :
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MKCONFIG := $(SRCTREE)/mkconfigsmdk2410_config : unconfig@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
@$(MKCONFIG) ??@表示在執行命令時不輸出命令本身(不回顯),只輸出命令執行的結果
????????????????????????????????$(MKCONFIG)表示(MKCONFIG) 這個變量的值mkconfig
$(@:_config=) ??這里用到了makefile的變量替換規則,$(VAR:A=B)表示替換變量$(VAR)中的A為B,
????????????????????????????????即把$@中的_config替換為空變成smdk2410,$@ 目標文件名稱(這里就是smdk241_config),$^ 所有的依賴文件,$< 第一個依賴文件。
:= ,=,?=的區別
:=不遞歸賦值
= 遞歸賦值
?=默認值 ??
“:=” 的意思是,它右邊賦得值如果是變量,只能使用在這條語句之前定義好的,而不能使用本條語句之后定義的變量;
于此對應的是“=”,當它的右邊賦值是變量時,這個變量的定義在本條語句之前或之后都可以;
而“?=”是指,該符號左邊的變量,如果在本條語句之前沒有定義過,則執行本語句,如果已經定義,那么本語句什么都不做
$0 $1 $2 ……$n 表示命令行的參數,$0是命令本身,$1是第一個參數,$n是第n個參數
?
總結
以上是生活随笔為你收集整理的makefile中的@ $ :的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ARM 汇编中的 B . 语句意义
- 下一篇: linux下system函数的深入理解