2011-04-01 196 views
2

我在makefile如下:的makefile循環變量

RESULT=ab 
nums: 
    number=1 ; while [[ $$number -le $(DIRS_NUM) ]] ; do \ 

     now=`echo $(CURR_DIR) | cut -d "/" -f 1-$$number` ;\ 

     **RESULT = $$now;\** 

     echo $(RESULT);\ 

     ((number = number + 1)) ; \  
    done 

我想更新RESULT變量,但我不知道如何做到這一點。

+0

爲什麼?你打算怎麼用'RESULT'做什麼? – Beta 2011-04-01 12:35:43

回答

3

無法從規則內更新makefile變量。你可以使用$(shell cmd)宏來執行一個命令並從其輸出流中獲取一個值,但是這與你所能達到的一樣近。一個簡單的例子:

X := $(shell echo 5) 

現在X將具有值5

請注意在這裏使用:=,而不是簡單的=。這會立即擴展右側的所有內容,而不是每次引用X