]> git.ipfire.org Git - thirdparty/kmod.git/blame - testsuite/module-playground/Makefile
libkmod, depmod, modprobe: Make directory for kernel modules configurable
[thirdparty/kmod.git] / testsuite / module-playground / Makefile
CommitLineData
3f8dd30a
LDM
1ifneq ($(KERNELRELEASE),)
2# kbuild part of makefile
7efa3502
LDM
3
4ifneq ($(KMOD_TESTSUITE_ARCH_BUILD),1)
4002d77a 5obj-m := mod-simple.o
450c1f03
LDM
6
7# mod-foo depends on foo-x, and foo-x modules don't depend
8# on anyone
9obj-m += mod-foo-a.o
10obj-m += mod-foo-b.o
11obj-m += mod-foo-c.o
12obj-m += mod-foo.o
13
d9ab7abe 14# mod-loop: create loops in dependencies:
965886b5
MYK
15# 1) mod-loop-a -> mod-loop-b -> mod-loop-c -> mod-loop-a
16# |-> mod-loop-f |-> mod-loop-f
17# \-> mod-loop-g \-> mod-loop-g
d9ab7abe 18# 2) mod-loop-d -> mod-loop-e -> mod-loop-d
9be03c52
YK
19# 3.1) mod-loop-h -> mod-loop-i -> mod-loop-j -> mod-loop-h
20# 3.2) mod-loop-h -> mod-loop-i -> mod-loop-j -> mod-loop-k -> mod-loop-h
21
d9ab7abe
LDM
22obj-m += mod-loop-a.o
23obj-m += mod-loop-b.o
24obj-m += mod-loop-c.o
25obj-m += mod-loop-d.o
26obj-m += mod-loop-e.o
965886b5
MYK
27obj-m += mod-loop-f.o
28obj-m += mod-loop-g.o
9be03c52
YK
29obj-m += mod-loop-h.o
30obj-m += mod-loop-i.o
31obj-m += mod-loop-j.o
32obj-m += mod-loop-k.o
d9ab7abe 33
2a38870e
LDM
34# mod-fake-*: fake the respective modules in kernel with these aliases. Aliases
35# list was taken from 3.5.4
36obj-m += mod-fake-hpsa.o
37obj-m += mod-fake-scsi-mod.o
38obj-m += mod-fake-cciss.o
39
7efa3502
LDM
40else
41# only build ARCH-specific module
42ifeq ($(ARCH),)
43 $(error ARCH must be set to a valid architecture)
44endif
45obj-m := mod-simple-$(ARCH).o
46endif
47
3f8dd30a
LDM
48else
49# normal makefile
9d1fb317 50KDIR ?= $(module_prefix)/lib/modules/`uname -r`/build
3f8dd30a 51KVER ?= `uname -r`
23603f1f
LDM
52ifeq ($(FAKE_BUILD),)
53 FAKE_BUILD=0
54endif
3f8dd30a 55
7efa3502 56ARCH_SPECIFIC_MODULES := mod-simple-x86_64.ko mod-simple-i386.ko mod-simple-sparc64.ko
10d783c4 57MY_MODULES := $(filter-out $(ARCH_SPECIFIC_MODULES),$(wildcard *.ko))
7efa3502
LDM
58
59default: modules arch-modules
60
61mod-simple-%.ko: mod-simple-%.c Makefile.arch
62 $(eval arch=$(patsubst mod-simple-%.ko,%,$@))
63 $(MAKE) KDIR=$(KDIR_$(arch)) ARCH=$(arch) CROSS_COMPILE=$(CROSS_COMPILE_$(arch)) -f Makefile.arch
64
23603f1f 65ifeq ($(FAKE_BUILD),0)
7efa3502 66modules:
3f8dd30a 67 $(MAKE) -C $(KDIR) M=$$PWD
23603f1f
LDM
68else
69modules:
70 @echo " CP cache/*.ko"
71 @cp cache/*.ko .
72endif
3f8dd30a 73
7efa3502
LDM
74arch-modules: $(ARCH_SPECIFIC_MODULES)
75
3f8dd30a 76clean:
10d783c4
LDM
77 test -z "$(MY_MODULES)" || rm -rf $(MY_MODULES) || true
78 rm -rf .tmp_versions || true
79 rm -rf .*.cmd *.mod.c || true
80 rm -rf *.o || true
81 rm -rf Module.symvers modules.order
3f8dd30a
LDM
82
83endif