a=10
b=10
b:
sum=($a+$b)
@echo hello
@echo @sum
我想編寫一個makefile來計算兩個變量的總和,但它不工作:我可以知道我犯了哪個錯誤嗎?計算make文件中兩個變量的總和不工作
make文件如何執行以及默認目標是什麼?
我可以更改makefile中的默認目標名稱嗎?
a=10
b=10
b:
sum=($a+$b)
@echo hello
@echo @sum
我想編寫一個makefile來計算兩個變量的總和,但它不工作:我可以知道我犯了哪個錯誤嗎?計算make文件中兩個變量的總和不工作
make文件如何執行以及默認目標是什麼?
我可以更改makefile中的默認目標名稱嗎?
你必須爲此使用shell語法。 Make本身並不提供任何數學函數。還要注意,make配方中的每條邏輯行都在一個單獨的shell中運行,這意味着如果您在一行中分配一個值並將其用於下一行,則該值將丟失(因爲值設置的shell已退出並開始一個新的)。
所以,做這樣的事情:
a = 10
b = 10
b:
@sum=`expr $(a) + $(b)`; echo $$sum
默認情況下,makefile文件運行的第一個目標。要運行特定目標,可以在命令行中輸入所需目標的名稱,如下所示:make <targetname>
。
這裏是生成文件
a=10
b=10
sum=$(shell expr $(1) + $(2))
compute_sum:
@echo $(a)+$(b)=$(call sum,$(a),$(b))
@echo $(sum_a_b)
它定義了一個函數sum
到COMPUT的2個參數的總和的一個例子。請注意0標誌周圍的空間是必需的。
默認目標是compute_sum
,它調用sum
函數與$(call sum,<arg1>,<arg2>)
。
。
當然,你可以使用和作爲變量直接一個內部消除功能:
a=10
b=10
sum=$(shell expr $(a) + $(b))
thanku it'w工作........... – user2427926