Makefile错误:语法错误:意外的单词(期待“fi”)

时间:2016-01-10 13:29:42

标签: linux makefile gnu-make

我对Makefile的以下部分有疑问:

if [ -d "$(MODLOOP_FIRMWARE_EXTERNAL)" ]; then \
    if [ ! -e "$(MODLOOP_DIR)"/lib/firmware ]; then \
        mkdir -p "$(MODLOOP_DIR)"/lib/firmware; \
    fi \
    cp -r "$(MODLOOP_FIRMWARE_EXTERNAL)"/* "$(MODLOOP_DIR)"/lib/firmware/; \
fi

make SHELL='sh -x'

if [ -d "/mnt/firmware" ]; then \
    if [ ! -e "/mnt/build-env"/lib/firmware ]; then \
        mkdir -p "/mnt/build-env"/lib/firmware; \
    fi \
    cp -r "/mnt/firmware"/* "/mnt/build-env"/lib/firmware/; \
fi
sh: syntax error: unexpected word (expecting "fi")

如果我删除该行:

cp -r "/mnt/firmware"/* "/mnt/build-env"/lib/firmware/; \

它会起作用,但我看不出是什么问题。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您应该在第四行;之后添加fi