]> git.ipfire.org Git - thirdparty/kmod.git/blame - testsuite/module-playground/Makefile
testsuite: depmod: add module dependency outside cyclic chain
[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
LDM
18# 2) mod-loop-d -> mod-loop-e -> mod-loop-d
19obj-m += mod-loop-a.o
20obj-m += mod-loop-b.o
21obj-m += mod-loop-c.o
22obj-m += mod-loop-d.o
23obj-m += mod-loop-e.o
965886b5
MYK
24obj-m += mod-loop-f.o
25obj-m += mod-loop-g.o
d9ab7abe 26
2a38870e
LDM
27# mod-fake-*: fake the respective modules in kernel with these aliases. Aliases
28# list was taken from 3.5.4
29obj-m += mod-fake-hpsa.o
30obj-m += mod-fake-scsi-mod.o
31obj-m += mod-fake-cciss.o
32
7efa3502
LDM
33else
34# only build ARCH-specific module
35ifeq ($(ARCH),)
36 $(error ARCH must be set to a valid architecture)
37endif
38obj-m := mod-simple-$(ARCH).o
39endif
40
3f8dd30a
LDM
41else
42# normal makefile
43KDIR ?= /lib/modules/`uname -r`/build
44KVER ?= `uname -r`
23603f1f
LDM
45ifeq ($(FAKE_BUILD),)
46 FAKE_BUILD=0
47endif
3f8dd30a 48
7efa3502 49ARCH_SPECIFIC_MODULES := mod-simple-x86_64.ko mod-simple-i386.ko mod-simple-sparc64.ko
10d783c4 50MY_MODULES := $(filter-out $(ARCH_SPECIFIC_MODULES),$(wildcard *.ko))
7efa3502
LDM
51
52default: modules arch-modules
53
54mod-simple-%.ko: mod-simple-%.c Makefile.arch
55 $(eval arch=$(patsubst mod-simple-%.ko,%,$@))
56 $(MAKE) KDIR=$(KDIR_$(arch)) ARCH=$(arch) CROSS_COMPILE=$(CROSS_COMPILE_$(arch)) -f Makefile.arch
57
23603f1f 58ifeq ($(FAKE_BUILD),0)
7efa3502 59modules:
3f8dd30a 60 $(MAKE) -C $(KDIR) M=$$PWD
23603f1f
LDM
61else
62modules:
63 @echo " CP cache/*.ko"
64 @cp cache/*.ko .
65endif
3f8dd30a 66
7efa3502
LDM
67arch-modules: $(ARCH_SPECIFIC_MODULES)
68
3f8dd30a 69clean:
10d783c4
LDM
70 test -z "$(MY_MODULES)" || rm -rf $(MY_MODULES) || true
71 rm -rf .tmp_versions || true
72 rm -rf .*.cmd *.mod.c || true
73 rm -rf *.o || true
74 rm -rf Module.symvers modules.order
3f8dd30a
LDM
75
76endif