]>
Commit | Line | Data |
---|---|---|
3f8dd30a LDM |
1 | ifneq ($(KERNELRELEASE),) |
2 | # kbuild part of makefile | |
7efa3502 LDM |
3 | |
4 | ifneq ($(KMOD_TESTSUITE_ARCH_BUILD),1) | |
4002d77a | 5 | obj-m := mod-simple.o |
450c1f03 LDM |
6 | |
7 | # mod-foo depends on foo-x, and foo-x modules don't depend | |
8 | # on anyone | |
9 | obj-m += mod-foo-a.o | |
10 | obj-m += mod-foo-b.o | |
11 | obj-m += mod-foo-c.o | |
12 | obj-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 |
19 | obj-m += mod-loop-a.o | |
20 | obj-m += mod-loop-b.o | |
21 | obj-m += mod-loop-c.o | |
22 | obj-m += mod-loop-d.o | |
23 | obj-m += mod-loop-e.o | |
965886b5 MYK |
24 | obj-m += mod-loop-f.o |
25 | obj-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 | |
29 | obj-m += mod-fake-hpsa.o | |
30 | obj-m += mod-fake-scsi-mod.o | |
31 | obj-m += mod-fake-cciss.o | |
32 | ||
7efa3502 LDM |
33 | else |
34 | # only build ARCH-specific module | |
35 | ifeq ($(ARCH),) | |
36 | $(error ARCH must be set to a valid architecture) | |
37 | endif | |
38 | obj-m := mod-simple-$(ARCH).o | |
39 | endif | |
40 | ||
3f8dd30a LDM |
41 | else |
42 | # normal makefile | |
43 | KDIR ?= /lib/modules/`uname -r`/build | |
44 | KVER ?= `uname -r` | |
23603f1f LDM |
45 | ifeq ($(FAKE_BUILD),) |
46 | FAKE_BUILD=0 | |
47 | endif | |
3f8dd30a | 48 | |
7efa3502 | 49 | ARCH_SPECIFIC_MODULES := mod-simple-x86_64.ko mod-simple-i386.ko mod-simple-sparc64.ko |
10d783c4 | 50 | MY_MODULES := $(filter-out $(ARCH_SPECIFIC_MODULES),$(wildcard *.ko)) |
7efa3502 LDM |
51 | |
52 | default: modules arch-modules | |
53 | ||
54 | mod-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 | 58 | ifeq ($(FAKE_BUILD),0) |
7efa3502 | 59 | modules: |
3f8dd30a | 60 | $(MAKE) -C $(KDIR) M=$$PWD |
23603f1f LDM |
61 | else |
62 | modules: | |
63 | @echo " CP cache/*.ko" | |
64 | @cp cache/*.ko . | |
65 | endif | |
3f8dd30a | 66 | |
7efa3502 LDM |
67 | arch-modules: $(ARCH_SPECIFIC_MODULES) |
68 | ||
3f8dd30a | 69 | clean: |
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 | |
76 | endif |