2011-09-24 41 views
0

我已經運行包含以下行生成文件(不是我寫的):

$(JAVAC)-verbose -classpath $(MY_CLASSPATH)-d $ (BUILD_TMP)@ $(SOURCE_FILES);

凡SOURCE_FILES先前定義爲: SOURCE_FILES = $(BUILD_DIR)/ sourcefiles

「@ $(SOURCE_FILES)」 並不在我的機器上工作。很明顯,這個符號(當它工作的時候!)被評估爲文件內容(在我的情況下每行一個Java源文件)。

這是特定於makefile的符號還是它特定於底層shell?我在互聯網上沒有發現關於這個主題的任何內容。

感謝您的幫助。

回答

2

它是特定於javac。請參閱javac的手冊頁。在我的:

$ man javac|grep -A 2 '@.*list' 
     @argfiles  One or more files that list source files. The -J 
         options are not allowed in these files. 

$ javac -version 
javac 1.6.0_26