一个Makefile递归显示文件夹名的问题

清钟沁桐 2018-10-13 06:56:49
[zhongyunde@linux-122 ~/avpv280/SDK_DSP_HCC_TEST/SDK_HCC/third_party/open_source/newlib]$cat Ma
test:
mkdir -p dd; \
for i in newlib ; do \
echo "$$i" \
done
echo "done";

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:


执行显示:
[zhongyunde@linux-122 ~/avpv280/SDK_DSP_HCC_TEST/SDK_HCC/third_party/open_source/newlib]$make -f Ma test
mkdir -p dd; \
for i in newlib ; do \
echo "$i" \
done
/bin/sh: -c: line 4: syntax error: unexpected end of file
Ma:2: recipe for target 'test' failed
make: *** [test] Error 1
...全文
201 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
清钟沁桐 2018-10-13
  • 打赏
  • 举报
回复

.PHONY: test

test:
	mkdir -p ddd;            \
	for i in newlib/* ; do   \
	   if [ -d $$i ]; then   \
        echo "$$i";          \
		echo `basename $$i`; \
	  fi ;  \
    done
	echo "done";
[zhongyunde@linux-122 ~/avpv280/SDK_DSP_HCC_TEST/SDK_HCC/third_party/open_source/newlib]$make test -f Ma mkdir -p ddd; \ for i in newlib/* ; do \ if [ -d $i ]; then \ echo "$i"; \ echo `basename $i`; \ fi ; \ done newlib/config config newlib/etc etc newlib/include include newlib/libgloss libgloss newlib/newlib newlib newlib/texinfo texinfo == > 说明即使是文件夹,使用basename $i也会减少一层 echo "done"; done
清钟沁桐 2018-10-13
  • 打赏
  • 举报
回复
echo "$i" \ 少了一个分号

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧