]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
testsuite: split-out Kbuild from Makefile
authorEmil Velikov <emil.l.velikov@gmail.com>
Mon, 2 Sep 2024 17:58:35 +0000 (18:58 +0100)
committerLucas De Marchi <lucas.de.marchi@gmail.com>
Tue, 3 Sep 2024 01:12:33 +0000 (20:12 -0500)
The former is used by the kernel build system, while the latter is our
convenience wrapper. Split the two to indicate the distinction and make
things easier to parse.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/86
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Makefile.am
testsuite/module-playground/Kbuild [new file with mode: 0644]
testsuite/module-playground/Makefile

index 0508f6ea9f129ad2fdf46dde351a090af700a566..cc23aaa322ca433aaf698892be5d1944ad2aec5e 100644 (file)
@@ -201,6 +201,7 @@ EXTRA_DIST += \
        testsuite/module-playground/dummy.pkcs7 \
        testsuite/module-playground/dummy.sha1 \
        testsuite/module-playground/dummy.sha256 \
+       testsuite/module-playground/Kbuild \
        testsuite/module-playground/Makefile \
        testsuite/module-playground/Makefile.arch \
        testsuite/module-playground/mod-fake-cciss.c \
@@ -319,7 +320,7 @@ testsuite_test_weakdep_CPPFLAGS = $(TESTSUITE_CPPFLAGS)
 testsuite-distclean:
        $(RM) -r $(ROOTFS)
        $(RM) testsuite/stamp-rootfs
-       $(MAKE) -C testsuite/module-playground/ clean
+       $(MAKE) -C $(MODULE_PLAYGROUND) clean
        if test "$(top_srcdir)" != "$(top_builddir)"; then \
                $(RM) -rf testsuite/module-playground; \
        fi
diff --git a/testsuite/module-playground/Kbuild b/testsuite/module-playground/Kbuild
new file mode 100644 (file)
index 0000000..5be441b
--- /dev/null
@@ -0,0 +1,45 @@
+ifneq ($(KMOD_TESTSUITE_ARCH_BUILD),1)
+obj-m := mod-simple.o
+
+# mod-foo depends on foo-x, and foo-x modules don't depend
+# on anyone
+obj-m += mod-foo-a.o
+obj-m += mod-foo-b.o
+obj-m += mod-foo-c.o
+obj-m += mod-foo.o
+
+# mod-loop: create loops in dependencies:
+# 1) mod-loop-a  ->  mod-loop-b -> mod-loop-c -> mod-loop-a
+#     |-> mod-loop-f    |-> mod-loop-f
+#     \-> mod-loop-g    \-> mod-loop-g
+# 2) mod-loop-d -> mod-loop-e -> mod-loop-d
+# 3.1) mod-loop-h -> mod-loop-i -> mod-loop-j -> mod-loop-h
+# 3.2) mod-loop-h -> mod-loop-i -> mod-loop-j -> mod-loop-k -> mod-loop-h
+
+obj-m += mod-loop-a.o
+obj-m += mod-loop-b.o
+obj-m += mod-loop-c.o
+obj-m += mod-loop-d.o
+obj-m += mod-loop-e.o
+obj-m += mod-loop-f.o
+obj-m += mod-loop-g.o
+obj-m += mod-loop-h.o
+obj-m += mod-loop-i.o
+obj-m += mod-loop-j.o
+obj-m += mod-loop-k.o
+
+# mod-fake-*: fake the respective modules in kernel with these aliases. Aliases
+# list was taken from 3.5.4
+obj-m += mod-fake-hpsa.o
+obj-m += mod-fake-scsi-mod.o
+obj-m += mod-fake-cciss.o
+
+obj-m += mod-weakdep.o
+
+else
+# only build ARCH-specific module
+ifeq ($(ARCH),)
+    $(error ARCH must be set to a valid architecture)
+endif
+obj-m := mod-simple-$(ARCH).o
+endif
index c518fd4b472b29cc7b1a577513ccdfc46b8691ed..4469c97cebd840c0167bc3b193cdbf7a2ab1e98f 100644 (file)
@@ -1,54 +1,3 @@
-ifneq ($(KERNELRELEASE),)
-# kbuild part of makefile
-
-ifneq ($(KMOD_TESTSUITE_ARCH_BUILD),1)
-obj-m := mod-simple.o
-
-# mod-foo depends on foo-x, and foo-x modules don't depend
-# on anyone
-obj-m += mod-foo-a.o
-obj-m += mod-foo-b.o
-obj-m += mod-foo-c.o
-obj-m += mod-foo.o
-
-# mod-loop: create loops in dependencies:
-# 1) mod-loop-a  ->  mod-loop-b -> mod-loop-c -> mod-loop-a
-#     |-> mod-loop-f    |-> mod-loop-f
-#     \-> mod-loop-g    \-> mod-loop-g
-# 2) mod-loop-d -> mod-loop-e -> mod-loop-d
-# 3.1) mod-loop-h -> mod-loop-i -> mod-loop-j -> mod-loop-h
-# 3.2) mod-loop-h -> mod-loop-i -> mod-loop-j -> mod-loop-k -> mod-loop-h
-
-obj-m += mod-loop-a.o
-obj-m += mod-loop-b.o
-obj-m += mod-loop-c.o
-obj-m += mod-loop-d.o
-obj-m += mod-loop-e.o
-obj-m += mod-loop-f.o
-obj-m += mod-loop-g.o
-obj-m += mod-loop-h.o
-obj-m += mod-loop-i.o
-obj-m += mod-loop-j.o
-obj-m += mod-loop-k.o
-
-# mod-fake-*: fake the respective modules in kernel with these aliases. Aliases
-# list was taken from 3.5.4
-obj-m += mod-fake-hpsa.o
-obj-m += mod-fake-scsi-mod.o
-obj-m += mod-fake-cciss.o
-
-obj-m += mod-weakdep.o
-
-else
-# only build ARCH-specific module
-ifeq ($(ARCH),)
-    $(error ARCH must be set to a valid architecture)
-endif
-obj-m := mod-simple-$(ARCH).o
-endif
-
-else
-# normal makefile
 KDIR ?= $(module_prefix)/lib/modules/`uname -r`/build
 
 ARCH_SPECIFIC_MODULES := mod-simple-x86_64.ko mod-simple-i386.ko mod-simple-sparc64.ko
@@ -66,5 +15,3 @@ arch-modules: $(ARCH_SPECIFIC_MODULES)
 
 clean:
        $(MAKE) -C $(KDIR) M=$$PWD clean
-
-endif