Makefile中的语法错误:文件结束意外(期待“fi”)

时间:2017-09-28 22:49:28

标签: bash makefile syntax-error

这是我的制作目标:

copy_python:
    if test -d $(VIRTUAL_ENV)/lib; then \
        cp -a $(VIRTUAL_ENV)/lib/python2.7/site-packages/. ./package/tmp/; \
    fi
    if test -d $(VIRTUAL_ENV)/lib64; then \
        cp -a $(VIRTUAL_ENV)/lib64/python2.7/site-packages/. ./package/tmp/; \ 
    fi

这是错误:

/bin/sh: 2: Syntax error: end of file unexpected (expecting "fi")
Makefile:28: recipe for target 'copy_python' failed
make: *** [copy_python] Error 2

为什么会出现此错误?

1 个答案:

答案 0 :(得分:7)

在第二个cp命令结束时,在结束反斜杠后面有一个额外的空格。因此,\不再作为续行,下一行的fi不会传递给sh