Linux|commands commence before first target

makefile时常遇到这样的问题,汇总网上的原因如下:


1. 上一行换行符号 \ 后面有空格
2. 本行前面的空白有非法字符


1)Makefile可能是以命令行开始:以[Tab]字符开始,但不是一个合法的命令行(例如,一个变量的赋值)。命令行必须和规则一一对应。

【Linux|commands commence before first target】
2)产生第二种的错误的原因可能是一行的第一个非空字符为分号,make会认为此处遗漏了规则的“target: prerequisite”部分。

    推荐阅读