makefile中的@ $(<filename>)表示法</filename>

时间:2011-09-24 11:59:31

标签: shell makefile

我要运行一个包含以下行的makefile(不是由我编写的):

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

其中SOURCE_FILES先前定义为: SOURCE_FILES = $(BUILD_DIR)/ sourcefiles

“@ $(SOURCE_FILES)”在我的机器上不起作用。显然这个符号(当它工作时!)被评估为文件内容(在我的情况下每行一个Java源文件)。

这是一个特定于makefile的符号还是特定于底层shell?我没有在互联网上找到关于这个主题的任何内容。

感谢您的帮助。

1 个答案:

答案 0 :(得分: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