Makefile.modinst 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # SPDX-License-Identifier: GPL-2.0
  2. # ==========================================================================
  3. # Installing modules
  4. # ==========================================================================
  5. PHONY := __modinst
  6. __modinst:
  7. include scripts/Kbuild.include
  8. modules := $(sort $(shell cat $(if $(KBUILD_EXTMOD),$(KBUILD_EXTMOD)/)modules.order))
  9. PHONY += $(modules)
  10. __modinst: $(modules)
  11. @:
  12. # Don't stop modules_install if we can't sign external modules.
  13. quiet_cmd_modules_install = INSTALL $@
  14. cmd_modules_install = \
  15. mkdir -p $(2) ; \
  16. cp $@ $(2) ; \
  17. $(mod_strip_cmd) $(2)/$(notdir $@) ; \
  18. $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD)) ; \
  19. $(mod_compress_cmd) $(2)/$(notdir $@)
  20. # Modules built outside the kernel source tree go into extra by default
  21. INSTALL_MOD_DIR ?= extra
  22. ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D))
  23. modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D))
  24. $(modules):
  25. $(call cmd,modules_install,$(MODLIB)/$(modinst_dir))
  26. .PHONY: $(PHONY)