2011-03-25 84 views
0

我有一个错误在这里,但它实际上应该工作:了解makefile文件

化妆:在读者致命错误:/x/y/z/compile.mak 22行:额外的:” :: '或者:=' 的依赖line`

${COPY_FILES:src/%=${STAGING_DIR}/%} : ${STAGING_DIR}/% : src/% 
mkdir -p ${@D} 
rm -f ${@} 
cp ${<} ${@} 
chmod ${FILE_PERMISSIONS} ${@} 

如何这个问题能解决?

 
COPY_FILES - is a list of files, 
STAGING_DIR - path, 
FILE_PERMISSIONS - 444 
+0

我在这里有一个错误,但它应该工作实际上是: ''做:致命错误的读者:/ X/Y /z/compile.mak,第22行:额外的':','::',或依赖线上的':=' – KeKc 2011-03-25 15:26:21

回答

2

随着错误消息,以便有益和简洁地说,你对依赖行额外:。我猜这行:

${COPY_FILES:src/%=${STAGING_DIR}/%} : ${STAGING_DIR}/% : src/% 

也许应该是:

${COPY_FILES:src/%=${STAGING_DIR}/%} : ${STAGING_DIR}/% src/% 
+0

谢谢@Paul R! 但我也想知道,这部分是如何工作的。 我知道make系统的基础,但这对我来说太复杂了。 为了理解这一点,我可以阅读很多手册,但没有时间,很不幸.. – KeKc 2011-03-28 08:36:38

+0

@KeKc:如果你想了解这个东西,你应该阅读GNU make手册:http:// www .gnu.org/software/make/manual/make.html - 在上面的例子中,虽然它似乎是将所有源文件从一个目录复制到临时登台目录,然后权限被更改。 – 2011-03-28 08:40:39

+0

好的,clearmake不显示此错误。所以我应该看看它是手动的。 谢谢@Paul R! – KeKc 2011-03-28 14:33:36