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.

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

解决方法:

在第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来调试程序了。

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

时间: 2024-08-03 00:39:41

makefile:4: *** missing separator. Stop.的相关文章

"makefile:5: *** missing separator. Stop."【转】

本文转载自:http://blog.csdn.net/fireroll/article/details/8607903 写makefile时出现这个错误提示 是表示makefile中的命令前没有使用TAB. 造成的原因可能有: 1. 命令前没有使用TAB, 2. 在VIM的配置文件"/etc/vimrc"中使用了"set expandtab". 因为"set expandtab"会将TAB转换成空格

Linux 报错 “ Makefile:4: *** missing separator。 停止。 ”

在make命令后出现这种错误提示,是提示第4行没有分隔符. 例如: 1 target:prerequisites ...... 4 command -- 改为: 1 target:prerequisites ..... 4     command -- 在Makefile文件中,命令必须以[tab]键开始.

制作Makefile中 ** missing separator 错误解决

非常简单就是根据提示,在这一行的前面摁Tab键 错误如上图所示: 原文地址:https://www.cnblogs.com/Frank-dev-blog/p/9459455.html

makefile编译报错之missing separator解决

报错1: [13:47:25][email protected]:~/linux-kernel/ntymemory$ make [13:47:25]Makefile:8: *** missing separator. Stop. 原因参考:https://blog.csdn.net/haifeng_gu/article/details/73258714 解决: sudo vim /etc/vim/vimrc 或者sudo vim ~/.vimrc 加入: 1 autocmd FileType m

makefile missing separator. Stop

1 ifneq ($(KERNELRELEASE),) 2 obj-m := hello.o 3 4 else 5 PWD := $(shell pwd) 6 KVER := $(shell uname -r) 7 KDIR := /lib/modules/$(KVER)/build 8 all: 9 $(MAKE) -C $(KDIR) M=$(PWD) modules 10 clean: 11 rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions 12 e

Makefile missing separator

这个makefile里不要乱用TAB,只有命令所在的行才能且只能以TAB开头! 其他的如,make变量的定义.赋值,make内定函数如$(error "strings")都不能以TAB开头,不然make会将其作为命令来处理! 如果排除了TAB用空格代替的问题后.以及由中文“:”等问题后,问题还存在 那么很可能是文件编码格式的问题 查看一下Makefile 文件编码格式是不是utf-8的,还带有BOM标记在文件头  $ xxd -l 16 Makefile 0000000: efbb b

<转>如何调试makefile

makefile 的调试有点像魔法.可惜,并不存在makefile 调试器之类的东西可用来查看特定规则是如何被求值的,或某个变量是如何被扩展的.相反,大部分的调试过程只是在执 行输出的动作以及查看makefile.事实上,GNU make 提供了若干可以协助调试的内置函数以及命令行选项. 用来调试makefile 的一个最好方法就是加入调试挂钩以及使用具保护的编程技术,让你能够在事情出错时恢复原状.我将会介绍若干基本的调试技术以及我所发现的最有用的具保 护能力的编码习惯. 1.make 的调试功

Makefileeasy犯错的语法

1.引言 近期学习android的Build系统,接触最多的自然就是Makefile语法.发现非常多easy出错的地方,不避开这些错误语法没法真正了解Makefile的内涵.以下就介绍遇到的一些让人困惑的语法错误 2.列举easy犯错的地方 ifeq条件推断 ifeq($(fro),no) endif 多么简单的语法.可是运行会报错例如以下: Makefile:2: *** missing separator. Stop. 原因: ifeq和左括号'('之间是必须有空格的. shell脚本的使用

bsdiff的编译与使用

bsdiff是一个差异包比较工具,可以用来实现增量更新. 下载地址:http://www.daemonology.net/bsdiff 编译 Mac环境 版本:macOS 10.12 1.解压下载的bsdiff-4.3.tar.gz tar -zxvf bsdiff-4.3.tar.gz 2.进入bsdiff-4.3目录,在终端下执行构建 cd bsdiff-4.3 make 此时报错: Makefile:13: *** missing separator.  Stop. 这是makefile文