summaryrefslogtreecommitdiff
path: root/scripts/Makefile.modinst
blob: 1f94c0990078bc5c075991cd3f401992b4195840 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# ==========================================================================
# Installing modules
# ==========================================================================

.PHONY: __modinst
__modinst:

include scripts/Makefile.lib

#

__modules := $(shell cd $(MODVERDIR); cat *.mod)
modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o)))

ifneq ($(filter-out $(modules),$(__modules)),)
  $(warning *** Uh-oh, you have stale module entries. You messed with SUBDIRS, do not complain if something goes wrong.)
endif

.PHONY: $(modules)
__modinst: $(modules)
	@:

# Modules built within the kernel tree

quiet_cmd_modules_install = INSTALL $(obj-m:.o=.ko)
      cmd_modules_install = mkdir -p $(MODLIB)/kernel/$(@D); \
			    cp $@ $(MODLIB)/kernel/$(@D)

$(filter-out ../% /%,$(modules)):
	$(call cmd,modules_install)

# Modules built outside just go into extra

quiet_cmd_modules_install_extra = INSTALL $(obj-m:.o=.ko)
      cmd_modules_install_extra = mkdir -p $(MODLIB)/extra; \
			    	  cp $@ $(MODLIB)/extra

$(filter     ../% /%,$(modules)):
	$(call cmd,modules_install_extra)