Makefile错误:commands commence before first target.

   今天在Linux下安装东西是遇到一个makefile的问题

Makefile:100: *** commands commence before first target。 停止。

在网上搜这个问题的时候,别人给的分析是:“Makefile可能是以命令行开始:以[Tab]字符开始,但不是一个合法的命令行(例如,一个变量的赋值)。命令行必须和规则一一对应。

一开始没弄明白是什么意思,后来在makefile文件下改动了几下,实验了几遍,修改成功了。在显示有错误的目录下找的makefile文件,定位到有错误的行,这里拿我的错误行为例

ALL_CFLAGS = -D_BSD_SOURCE -DHAVE_CONFIG_H -I. -I../src -I ${srcdir} -I ${srcdir}/../src ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}

开始的时候,“-DHAVE_CONFIG_H” 和“-I.”之间是空格(也有可能是好多个空格),把空格删掉,在这两者之间只存在一个[Tab]字符就可以了。


你可能感兴趣的:(linux,BEFORE,错误,target,makefile,网上)