summaryrefslogtreecommitdiff
path: root/scripts/Makefile.modinst
blob: 6fd619221b935e680b438e4ed5a8a9187868b049 (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 cat /dev/null $(wildcard $(MODVERDIR)/*.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 $@
      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)