我试图通过makefile遍历特定目录中的.c文件。
我使用了以下代码,但似乎无效:
DIR= Sources \
Sources_2
@for entry in ${DIR} ; \
do \
@for i in $${entry}/*.c ; \
do \
echo "Processing $${i}"; \
#Building Commands go here
done \
done
我收到错误:“/ bin / sh:-c:第3行:意外令牌附近的语法错误`do'”
答案 0 :(得分:1)
更改Makefile
,如下所示
@for entry in ${DIR} ; do \
for i in $$entry/*.c ; do \
echo "Processing $$i"; \
#Building Commands go here
done \
done
for
循环语法使用错误的原因。
答案 1 :(得分:0)
您不应该在第二个@
循环附近的符号for
处使用。应在整个shell命令的开头使用@
。以下对我有用:
DIR= Sources \
Sources_2
all:
@for entry in ${DIR}; \
do \
for i in $${entry}/*.c; \
do \
echo "Processing $${i}"; \
done \
done