Makefile missing separator. Stop.如何解决

sengeiou 2013-01-11 06:25:56
Makefile:1: *** missing separator. Stop.
makefile 如下
ifnep($(KERNELRELEASE),)
obj-m += module.o
else
PWD := $(shell pwd)
KVER := $(shell uname -r)
KDIR := /lib/modules/$(KVER)/build
all:
$(MAKE) -C $(KDIR) M= $(PWD)
clean:
rm -rf *.o *.mod.c *.ko *.symvers *.order *.makers
endif

搜了一下 未果 说是应用tab 改了又改还是不行 求教 应该也有很多向我一样的同学 求大大指教
...全文
72431 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_19662763 2014-08-17
  • 打赏
  • 举报
回复
6楼说得对哦
gong0791 2014-06-17
  • 打赏
  • 举报
回复
6楼是真理。
yanzhi17xue 2013-06-07
  • 打赏
  • 举报
回复
make[1]: Entering directory `/home/yanzhixue/桌面/BSR_full/BSR/grouping/source/gpb_src/src' rm -f rm -f make[2]: Entering directory `/home/yanzhixue/桌面/BSR_full/BSR/grouping/source/gpb_src/src/concurrent' Makefile:1: *** missing separator. Stop. make[2]: Leaving directory `/home/yanzhixue/桌面/BSR_full/BSR/grouping/source/gpb_src/src/concurrent' make[2]: Entering directory `/home/yanzhixue/桌面/BSR_full/BSR/grouping/source/gpb_src/src/io' 但是makefile 和Rules.make都只有一行 ../makefile ../Rules.make 每一个行加了tab后出现错误: make[2]: Entering directory `/home/yanzhixue/桌面/BSR_full/BSR/grouping/source/gpb_src/src/concurrent' Makefile:1: *** commands commence before first target. Stop. make[2]: Leaving directory `/home/yanzhixue/桌面/BSR_full/BSR/grouping/source/gpb_src/src/concurrent' 不知道怎么改
driverSir 2013-05-20
  • 打赏
  • 举报
回复
ifnep($(KERNELRELEASE),) 少个空格ifnep ($(KERNELRELEASE),)
Edgar_wu 2013-03-06
  • 打赏
  • 举报
回复
如果排除了TAB用空格代替的问题后、以及由中文“:”等问题后,问题还存在 那么很可能是文件编码格式的问题 查看一下Makefile 文件编码格式是不是utf-8的,还带有BOM标记在文件头 $ xxd -l 16 Makefile 0000000: efbb bf61 6c6c 3a0a 2020 6563 686f 2068 ...all:. 去掉红色字体部分就OK了
daviddb7 2013-01-23
  • 打赏
  • 举报
回复
ifneq吧……你都用vim了,没发现这里没高亮么
foxxml 2013-01-22
  • 打赏
  • 举报
回复
用个ultraedit, 开个二进制模式一看就看到了。更多的可能是你用了空格而不是table
jiangbei_lengyu 2013-01-11
  • 打赏
  • 举报
回复
1.第一行ifnep这个符号是做什么的?大概是ifneq吧? 2.很多地方你打的是空格,你最好尝试习惯去用tab键 3.第八行和第十行必须用tab开头 ifneq ($(KERNELRELEASE),) obj-m += module.o else PWD := $(shell pwd) KVER := $(shell uname -r) KDIR := /lib/modules/$(KVER)/build all: $(MAKE) -C $(KDIR) M= $(PWD) clean: rm -rf *.o *.mod.c *.ko *.symvers *.order *.makers endif
HMGuardian 2013-01-11
  • 打赏
  • 举报
回复
这个makefile里不要乱用TAB,只有命令所在的行才能且只能以TAB开头! 其他的如,make变量的定义、赋值,make内定函数如$(error "strings")都不能以TAB开头,不然make会将其作为命令来处理!

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧