Makefile 错误:混合了隐式规则和常规规则
我刚刚将Makefile 错误:混合了隐式规则和常规规则,makefile,kernel-module,Makefile,Kernel Module,我刚刚将make更新为 GNU Make 3.82 Built for x86_64-pc-linux-gnu Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistrib
make
更新为
GNU Make 3.82
Built for x86_64-pc-linux-gnu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
现在,它不会出现此错误
ARCH=arm CROSS_COMPILE=/usr/bin/arm-softfloat-linux-uclibceabi- make -C ./build/ M=/home/liam/Dev/driver modules
Makefile:23: *** mixed implicit and normal rules. Stop.
make[1]: Entering directory `/home/shared/firmware/atmel/kernel'
make: *** [all] Error 2
make[1]: Leaving directory `/home/shared/firmware/atmel/kernel'
知道是什么导致了这个问题吗
编辑:
好的,我现在有更多的信息。自动生成的Makefile从/build/
目录中拉入,如下所示
# Automatically generated by /home/shared/firmware/src/linux/scripts/mkmakefile: don't edit
VERSION = 2
PATCHLEVEL = 6
lastword = $(word $(words $(1)),$(1))
makedir := $(dir $(call lastword,$(MAKEFILE_LIST)))
MAKEARGS := -C /home/shared/firmware/src/linux
MAKEARGS += O=$(if $(patsubst /%,,$(makedir)),$(CURDIR)/)$(patsubst %/,%,$(makedir))
MAKEFLAGS += --no-print-directory
.PHONY: all $(MAKECMDGOALS)
all := $(filter-out all Makefile,$(MAKECMDGOALS))
all:
$(MAKE) $(MAKEARGS) $(all)
Makefile:;
$(all) %/: all
@:
看看它和其他帖子,这可能是一个重复的问题。最后几行不应该是这个版本的
make
修复程序正在更改内核生成的Makefile
行
发件人:
致:
有一些比我更能解释这背后的原因 可能重复的
# Automatically generated by /home/shared/firmware/src/linux/scripts/mkmakefile: don't edit
VERSION = 2
PATCHLEVEL = 6
lastword = $(word $(words $(1)),$(1))
makedir := $(dir $(call lastword,$(MAKEFILE_LIST)))
MAKEARGS := -C /home/shared/firmware/src/linux
MAKEARGS += O=$(if $(patsubst /%,,$(makedir)),$(CURDIR)/)$(patsubst %/,%,$(makedir))
MAKEFLAGS += --no-print-directory
.PHONY: all $(MAKECMDGOALS)
all := $(filter-out all Makefile,$(MAKECMDGOALS))
all:
$(MAKE) $(MAKEARGS) $(all)
Makefile:;
$(all) %/: all
@:
$(all) %/: all
@:
$(all) : all