我得到以下错误运行make:
Makefile:168: *** missing separator. Stop.
是什么导致了这种情况?
我得到以下错误运行make:
Makefile:168: *** missing separator. Stop.
是什么导致了这种情况?
当前回答
因此,显然,我所需要的是“构建必要”包,然后首先运行autoconf,这使得Makefile.pre。In,然后是。/configure,然后是make。
其他回答
在我的例子中,这个错误是由于缺乏空间造成的。我在我的makefile中有这个if块:
if($(METHOD),opt)
CFLAGS=
endif
应该是:
if ($(METHOD),opt)
CFLAGS=
endif
if后面加一个空格。
在我的例子中,我实际上在ifeq和下一行的命令之间缺少了一个制表符。一开始就没有空间。
ifeq ($(wildcard $DIR_FILE), )
cd $FOLDER; cp -f $DIR_FILE.tpl $DIR_FILE.xs;
endif
本来应该是:
ifeq ($(wildcard $DIR_FILE), )
<tab>cd $FOLDER; cp -f $DIR_FILE.tpl $DIR_FILE.xs;
endif
注意<tab>是一个实际的制表符
在我的例子中,同样的错误是由于冒号:在结束时丢失了stage .deploy:。所以请注意,这可能是一个简单的语法错误。
以下Makefile代码工作:
obj-m = hello.o
all:
$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
因此,显然,我所需要的是“构建必要”包,然后首先运行autoconf,这使得Makefile.pre。In,然后是。/configure,然后是make。