diff options
Diffstat (limited to 'driver/Makefile')
-rw-r--r-- | driver/Makefile | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/driver/Makefile b/driver/Makefile new file mode 100644 index 0000000..d968e31 --- /dev/null +++ b/driver/Makefile @@ -0,0 +1,21 @@ +RELEASE := $(shell uname -r) +KERNEL := /lib/modules/$(RELEASE)/build +# PWD doesn't have to be defined as it's inherited from the current environment +# MAKE shouldn't be defined as it's special in GNU make + +# the names of these variables are required by the kernel's (imo weird) build +# system, see [kbuild-obj-var] and [kbuild-module-makefile] in ../readme.md +obj-m += lork.o +lork-y += main.o +lork-y += fopdrv.o + +all: + $(MAKE) -C $(KERNEL) M=$(PWD) modules + +# the generated compile_commands.json needs to be edited to point to the kernel +# folder as working directory because the include paths are relative +compile_commands.json: + compiledb -o $@.tmp make -Bn + jq --arg dir $(KERNEL) '.[].directory = $$dir' $@.tmp > $@ + $(RM) $@.tmp + |