Makefile错误:"缺少分隔符。停止&#34。

时间:2018-05-24 20:12:46

标签: makefile terminal

尝试编译Makefile会出现以下错误:

 Makefile:248: *** missing separator.  Stop.

Makefile中的相关行(第248行和附近的行)是:

tar :
    @if test -f espresso.tar.gz ; then /bin/rm espresso.tar.gz ; fi
    # do not include unneeded stuff 
    find ./ -type f | grep -v -e /.svn/ -e'/\.' -e'\.o$$' \
             -e'\.mod$$' -e'\.a$$' -e'\.d$$' -e'\.i$$' -e'\.F90$$' -e'\.x$$' \
         -e'~$$' -e'\./GUI' -e '\./tempdir' | xargs tar rvf espresso.tar
    gzip espresso.tar

find结尾的命令espresso.tar的第三行是第248行。 我尝试按照here列出的调试过程并发出命令cat -e -t -v Makefile,它给了我以下代码:

tar :$
^I@if test -f espresso.tar.gz ; then /bin/rm espresso.tar.gz ; fi$
^I# do not include unneeded stuff $
^Ifind ./ -type f | grep -v -e /.svn/ -e'/\.' -e'\.o$$' \$
         -e'\.mod$$' -e'\.a$$' -e'\.d$$' -e'\.i$$' -e'\.F90$$' -e'\.x$$' \$
^I     -e'~$$' -e'\./GUI' -e '\./tempdir' | xargs tar rvf espresso.tar$
^Igzip espresso.tar$
$

果然,^ I角色丢失了,但是从第247行(很奇怪)。所以我编辑了文件以包含制表符,现在它说:

tar :$
^I@if test -f espresso.tar.gz ; then /bin/rm espresso.tar.gz ; fi$
^I# do not include unneeded stuff $
^Ifind ./ -type f | grep -v -e /.svn/ -e'/\.' -e'\.o$$' \$
^I     -e'\.mod$$' -e'\.a$$' -e'\.d$$' -e'\.i$$' -e'\.F90$$' -e'\.x$$' \$
^I     -e'~$$' -e'\./GUI' -e '\./tempdir' | xargs tar rvf espresso.tar$
^Igzip espresso.tar$
$

然而,错误仍然存​​在,我有点期待,因为问题首先不在那条线上。我甚至尝试从相关行中删除所有空格,但错误仍然存​​在。不确定^ I字符是否存在问题。任何帮助解决这个问题将不胜感激。谢谢!

可以在下载文件的主文件夹中找到完整的Makefile(直接链接到文件here

0 个答案:

没有答案