kbuild: fix first module build
When building a specific module before doing a total kernel build it failed because $(MORVERDIR) were missing. Creating the MODVERDIR explicit (independent of KBUILD_MODULES) fixed this. As a side-effect the MODVERDIR will be created also for a non-module build - but no harm done by that. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
parent
6e66b9005d
commit
7bb9d092de
1 changed files with 7 additions and 6 deletions
13
Makefile
13
Makefile
|
@ -884,10 +884,7 @@ prepare2: prepare3 outputmakefile
|
|||
|
||||
prepare1: prepare2 include/linux/version.h include/linux/utsrelease.h \
|
||||
include/asm include/config/auto.conf
|
||||
ifneq ($(KBUILD_MODULES),)
|
||||
$(Q)mkdir -p $(MODVERDIR)
|
||||
$(Q)rm -f $(MODVERDIR)/*
|
||||
endif
|
||||
$(cmd_crmodverdir)
|
||||
|
||||
archprepare: prepare1 scripts_basic
|
||||
|
||||
|
@ -1223,8 +1220,7 @@ else # KBUILD_EXTMOD
|
|||
KBUILD_MODULES := 1
|
||||
PHONY += crmodverdir
|
||||
crmodverdir:
|
||||
$(Q)mkdir -p $(MODVERDIR)
|
||||
$(Q)rm -f $(MODVERDIR)/*
|
||||
$(cmd_crmodverdir)
|
||||
|
||||
PHONY += $(objtree)/Module.symvers
|
||||
$(objtree)/Module.symvers:
|
||||
|
@ -1484,9 +1480,11 @@ endif
|
|||
|
||||
# Modules
|
||||
/ %/: prepare scripts FORCE
|
||||
$(cmd_crmodverdir)
|
||||
$(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
|
||||
$(build)=$(build-dir)
|
||||
%.ko: prepare scripts FORCE
|
||||
$(cmd_crmodverdir)
|
||||
$(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
|
||||
$(build)=$(build-dir) $(@:.ko=.o)
|
||||
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
||||
|
@ -1510,6 +1508,9 @@ quiet_cmd_depmod = DEPMOD $(KERNELRELEASE)
|
|||
$(KERNELRELEASE); \
|
||||
fi
|
||||
|
||||
# Create temporary dir for module support files
|
||||
cmd_crmodverdir = $(Q)mkdir -p $(MODVERDIR); rm -f $(MODVERDIR)/*
|
||||
|
||||
|
||||
a_flags = -Wp,-MD,$(depfile) $(KBUILD_AFLAGS) $(AFLAGS_KERNEL) \
|
||||
$(NOSTDINC_FLAGS) $(KBUILD_CPPFLAGS) \
|
||||
|
|
Loading…
Reference in a new issue