首页 > 代码库 > makefile:4: *** missing separator. Stop.

makefile:4: *** missing separator. Stop.

今天在编写蜂鸣器的驱动程序时,makefile文件是这样:

CROSS=arm-linux-
all: beep
beep: beep.c
$(CROSS)gcc -o beep beep.c
$(CROSS)strip beep
clean:
@rm -vf beep *.o *~

 

结果make的时候一直出错,错误是makefile:4: *** missing separator. Stop.

makefile:4: <wbr>*** <wbr>missing <wbr>separator. <wbr>Stop.

中文意思是说缺少分隔符。

 

解决方法:

在第4行前面加上一个table,同样第5和7行也要加上,如下

CROSS=arm-linux-
all: beep
beep: beep.c
    $(CROSS)gcc-o beep beep.c
   $(CROSS)strip beep
clean:
    @rm -vf beep*.o *~

 

关于arm-linux-strip:

arm-linux-strip相对比较少见,compress压缩命令我们比较常见,它的压缩率比较高。但compress压缩也有缺点,被压缩后的文件需要用命令uncompress解压后才能正常使用。而用strip命令就没有这个问题,它能清除执行文件中不必要的标示符及调试信息,可减小文件大小而不影响正常使用。与compress不同的是,文件一旦strip后就不能恢复原样了,所以strip是一个减肥工具而不是压缩工具。而且,被strip后的文件不包含调试信息,就不能用dbx来调试程序了。