make内核提示:Makefile: *** 混合的隐含和普通规则。 停止。

编译内核时提示:

Makefile:1610: *** 混合的隐含和普通规则。 停止。

主要是交叉编译器的语法兼容问题,修改Makefile即可:

找到445行:

config %config: scripts_basic outputmakefile FORCE
                $(Q)mkdir -p include/linux include/config
                $(Q)$(MAKE) $(build)=scripts/kconfig [email protected]

更改为:

config: scripts_basic outputmakefile FORCE
                $(Q)mkdir -p include/linux include/config
                $(Q)$(MAKE) $(build)=scripts/kconfig [email protected]

%config: scripts_basic outputmakefile FORCE
                $(Q)mkdir -p include/linux include/config
                $(Q)$(MAKE) $(build)=scripts/kconfig [email protected]

找到1610行:

/ %/: prepare scripts FORCE
                $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \

$(build)=$(build-dir)

更改为:

/: prepare scripts FORCE
                $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \

$(build)=$(build-dir)

%/: prepare scripts FORCE
                $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \

$(build)=$(build-dir

时间: 2024-08-08 06:45:27

make内核提示:Makefile: *** 混合的隐含和普通规则。 停止。的相关文章

Makefile:xxx:***混合的隐含和普通规则。停止

Makefile: *** 混合的隐含和普通规则. 停止. Makefile: *** mixed implicit and normal rules. Stop. 这个原因可能是Make工具对低版本内核的Makefile一些旧的规则兼容不好,我们只需要修改对应的Makefile. 如 一: 原始的:        / %/: prepare scripts FORCE                $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES

【总结】嵌入式linux内核中Makefile、Kconfig、.config的关系及增加开机Hello World【转】

本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/73772109 为了弄清内核的组织结构,我们先来实现下面这个简单的例子. 一.增加内核启动Hello World 任务: 内核启动的时候加载Hello驱动,并打印出Hello World 步骤: (1)在drivers目录下新建hello文件夹,在里面实现相应的hello.c.Makefile.Kconfig (2)修改上一级(Linux-3.4.2/drivers下)的Make

Makefile编写 五 隐含规则

隐含规则———— 在我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix下是[.o]文件,Windows下是[.obj]文件).本章讲述的就是一些在Makefile中的“隐含的”,早先约定了的,不需要我们再写出来的规则. “隐含规则”也就是一种惯例,make会按照这种“惯例”心照不喧地来运行,那怕我们的Makefile中没有书写这样的规则.例如,把[.c]文件编译成[.o]文件这一规则,你根本就不用写出来,make会

Makefile详解--隐含规则

Makefile详解--隐含规则(转) Makefile系列文章,这里有个前辈连续洗了一个系列来介绍,共有26篇博客文章. http://www.cppblog.com/ivenher/archives/2007/04.html Makefile隐含规则 ———— 在我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译 C/C++的源程序为中间目标文件(Unix下是[.o]文件,Windows下是[.obj]文件).本章讲述的就是一些在Makefile中的“

Linux makefile教程之隐含规则九[转]

隐含规则 ———— 在 我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix下是[.o] 文件,Windows下是[.obj]文件).本章讲述的就是一些在Makefile中的“隐含的”,早先约定了的,不需要我们再写出来的规则. “隐含规则”也就是一种惯例,make会按照这种“惯例”心照不喧地来运行,那怕我们的Makefile中没有书写这样的规则.例如,把[.c]文件编译成[.o]文件这一规则,你根本就不用写出来,ma

从头开始写项目Makefile(八):模式规则

[版权声明:转载请保留出处:blog.csdn.net/gentleliu.Mail:shallnew at 163 dot com] 上一节讲到目录创建成功,目标文件没有生产到对应目录下,这里我们先给目标文件加上对应目录,这样的话产生对应的目标文件会直接生成到对应目录.我们先给库文件目标和可执行文件目标加上路径,如下: lib : $(OBJDIR) $(LIBDIR)/$(SRC_LIB) bin : $(OBJDIR) $(BINDIR)/$(SRC_BIN) $(OBJDIR) : >[

浅谈内核的Makefile、Kconfig和.config文件

Linux内核源码文件繁多,搞不清Makefile.Kconfig..config间的关系,不了解内核编译体系,编译修改内核有问题无从下手,自己写的驱动不知道怎么编进内核,不知道怎么配置内核,这些问题都和Makefile.Kconfig..config有关,下面简单谈谈Makefile.Kconfig和.config.希望对你有启发. 三者的作用: 简单来说就是去饭店点菜:Kconfig是菜单,Makefile是做法,.config就是你点的菜. Makefile:一个文本形式的文件,编译源文件

编译内核提示mkimage command not found – U-Boot images will not be built

按照以往经验,我们需要安装依赖包: sudo apt-get install uboot-mkimage 但却提示"现在没有可用的软件包 uboot-mkimage,但是它被其它的软件包引用了. 这可能意味着这个缺失的软件包可能已被废弃" 怎么破? 按照其提示,安装"u-boot-tools"即可 sudo apt-get install u-boot-tools 原文地址:https://www.cnblogs.com/poonpan/p/8533892.html

linux下遇到插拨serial TLL时内核提示的错误信息

SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) thaw-filesystems(J) saK show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T)