[v2,1/3] example-module: improve Makefile to be more realistic

Message ID 20220827085905.6116-1-henning.schild@siemens.com
State Rejected, archived
Headers show
Series [v2,1/3] example-module: improve Makefile to be more realistic | expand

Commit Message

Henning Schild Aug. 27, 2022, 12:59 a.m. UTC
A real out-of-tree module would be able to "make" on its own, finding
its own KDIR and not rely on some external entity to provide that. But
of cause allow KDIR to be provided from outside.

Fixes: 8d9e4e3c0857 ("Add exemplary kernel module")
Signed-off-by: Henning Schild <henning.schild@siemens.com>
---
 .../example-module/files/src/Makefile              | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

Comments

Jan Kiszka Sept. 1, 2022, 8:08 a.m. UTC | #1
On 27.08.22 10:59, Henning Schild wrote:
> A real out-of-tree module would be able to "make" on its own, finding
> its own KDIR and not rely on some external entity to provide that. But
> of cause allow KDIR to be provided from outside.
> 
> Fixes: 8d9e4e3c0857 ("Add exemplary kernel module")
> Signed-off-by: Henning Schild <henning.schild@siemens.com>
> ---
>  .../example-module/files/src/Makefile              | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/meta-isar/recipes-kernel/example-module/files/src/Makefile b/meta-isar/recipes-kernel/example-module/files/src/Makefile
> index 2561cfd410e5..df3241652cf1 100644
> --- a/meta-isar/recipes-kernel/example-module/files/src/Makefile
> +++ b/meta-isar/recipes-kernel/example-module/files/src/Makefile
> @@ -1,8 +1,20 @@
>  # Example module
>  #
>  # This software is a part of ISAR.
> -# Copyright (c) Siemens AG, 2018
> +# Copyright (c) Siemens AG, 2018-2022
>  #
>  # SPDX-License-Identifier: GPL-2.0
>  
>  obj-m := example-module.o
> +
> +INSTALL_MOD_PATH ?= $(DESTDIR)
> +export INSTALL_MOD_PATH
> +
> +KDIR ?= /lib/modules/$(shell uname -r)/build
> +
> +modules modules_install clean:
> +	$(MAKE) -C $(KDIR) M=$(PWD) $@
> +
> +install: modules_install
> +
> +.PHONY: modules modules_install install clean

This is convenient of you call things on the command line but unneeded
for the minimal case that we also support in Isar. Therefore, it was not
added to this example.

Jan

Patch

diff --git a/meta-isar/recipes-kernel/example-module/files/src/Makefile b/meta-isar/recipes-kernel/example-module/files/src/Makefile
index 2561cfd410e5..df3241652cf1 100644
--- a/meta-isar/recipes-kernel/example-module/files/src/Makefile
+++ b/meta-isar/recipes-kernel/example-module/files/src/Makefile
@@ -1,8 +1,20 @@ 
 # Example module
 #
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2018
+# Copyright (c) Siemens AG, 2018-2022
 #
 # SPDX-License-Identifier: GPL-2.0
 
 obj-m := example-module.o
+
+INSTALL_MOD_PATH ?= $(DESTDIR)
+export INSTALL_MOD_PATH
+
+KDIR ?= /lib/modules/$(shell uname -r)/build
+
+modules modules_install clean:
+	$(MAKE) -C $(KDIR) M=$(PWD) $@
+
+install: modules_install
+
+.PHONY: modules modules_install install clean