aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2023-07-11 08:07:20 +0200
committerFelix Morgner <felix.morgner@gmail.com>2023-07-11 08:07:20 +0200
commit99132b4bf5c0a19b38695fd8bcaac8d3829b4bd1 (patch)
tree384f8948c073852c2e2770082ae720be426f0608
parent02519e2dcd5ec5ec6a531260a25089f778f86ada (diff)
downloaddev-cyber-99132b4bf5c0a19b38695fd8bcaac8d3829b4bd1.tar.xz
dev-cyber-99132b4bf5c0a19b38695fd8bcaac8d3829b4bd1.zip
build: split makefile
-rw-r--r--Kbuild10
-rw-r--r--Makefile32
2 files changed, 22 insertions, 20 deletions
diff --git a/Kbuild b/Kbuild
new file mode 100644
index 0000000..250db3e
--- /dev/null
+++ b/Kbuild
@@ -0,0 +1,10 @@
+obj-m := cyber.o
+cyber-objs := src/cyber_device.o \
+ src/cyber_device_character_device.o \
+ src/cyber_device_device_class.o \
+ src/cyber_device_kernel_device.o \
+ src/cyber_file.o \
+ src/cyber_lifecycle.o \
+ src/cyber.o
+
+ccflags-y := -I$(src)/include
diff --git a/Makefile b/Makefile
index 37df362..0c25810 100644
--- a/Makefile
+++ b/Makefile
@@ -1,25 +1,17 @@
-EXTRA_CFLAGS := -I$(src)/include
+ifneq ($(KERNELRELEASE),)
+include Kbuild
+else
+KDIR ?= /lib/modules/`uname -r`/build
-obj-m := cyber.o
+modules:
+ @$(MAKE) -C $(KDIR) M=$$PWD modules
-cyber-objs := src/cyber_device.o \
- src/cyber_device_character_device.o \
- src/cyber_device_device_class.o \
- src/cyber_device_kernel_device.o \
- src/cyber_file.o \
- src/cyber_lifecycle.o \
- src/cyber.o
-
-ifeq ($(KERNEL_VERSION),)
-KERNEL_VERSION=$(shell uname -r)
-endif
-
-all:
- make -C /lib/modules/$(KERNEL_VERSION)/build/ M=$(PWD) modules
+clean:
+ @$(MAKE) -C $(KDIR) M=$$PWD clean
install:
- make -C /lib/modules/$(KERNEL_VERSION)/build/ M=$(PWD) modules_install
- depmod -a
+ @$(MAKE) -C $(KDIR) M=$$PWD modules_install
+ @depmod -a
+
+endif
-clean:
- make -C /lib/modules/$(KERNEL_VERSION)/build/ M=$(PWD) clean