2011-02-11 50 views
0

我試圖管理make上的變量,但我發現有幾種類型的shell變量{},變量用()和$$設置,但現在我只是試圖管理簡單的文本變量在我的Makefile簡單的代碼管理GNU Make中的簡單變量Make

@WORD=GNUMAKE 
    FOUND=1 
    PWD=$(PWD) 
    $(findstring $$WORD,$$PWD) 
    $(shell echo $$FOUND) 
    $(shell echo $$PWD) 

很好,我真的感到驚訝,我只得到自認倒黴,對於我,我只能使用變量地注意到$$,因爲我的$化妝不承認()或{}但另一件事是,編譯器給我一個錯誤

FOUND=1 
PWD=/home/ogonzalezr/GNUMAKE/changedir 
/home/ogonzalezr/GNUMAKE/changedir 
make: execvp: /home/ogonzalezr/GNUMAKE/changedir: Permission denied 
make: *** [all] Error 127 

現在我想知道,是我的在OS上做好設置?也許我們正在談論一些相關的錯誤? 我真的失去了,真的扭曲,因爲我不明白任何可能發生的事情。

謝謝您的回答,

問候所有

+0

如果您有任何疑問,井變量並不那麼困難;請不要猶豫,檢查此鏈接http://stackoverflow.com/questions/3006453/how-to-match-occurance-of-word-in-list-in-makefile/4969007#4969007 – 2011-02-11 13:26:41

回答

0

哪裏開始呢?你使用變量是錯誤的。

把這個在生成文件的頂部:

FOUND = 1 

all: 
    echo $(FOUND) 

然後運行make。在嘗試任何更復雜的事情之前,你應該做好這個工作。

+0

是的,就是這樣的事情,我在這個目標裏面設置了變量..這是一團糟,但知道是可以的。感謝您的回答! 但是,我想將這些變量管理爲for循環..我試試 – 2011-02-11 14:26:18