12345678910111213141516171819202122232425262728293031323334 |
- OUT_EXT := .ko
- OBJ_EXT := .o
- RUN := hello
- RUN_EXT := $(RUN)$(OUT_EXT)
- obj-m += hello.o
- ccflags-y := -Wno-declaration-after-statement -std=gnu99
- .PHONY: clean ins log rm run my-ins
- all: $(RUN_EXT) ins_rm_mod.out
- hello.ko: hello.c
- make -C /lib/modules/$(shell uname -r)/build M="$(PWD)" modules
- clean:
- make -C /lib/modules/$(shell uname -r)/build M="$(PWD)" clean
- rm -f *.out
- ins: all
- sudo insmod '$(RUN_EXT)'
- log:
- dmesg
- rm:
- if lsmod | grep -Eq '^$(RUN) '; then sudo rmmod '$(RUN_EXT)'; fi
- ins_rm_mod.out: ins_rm_mod.c
- gcc -Wall -std=gnu99 -o '$@' '$<'
- ins_rm_run: ins_rm_mod.out $(RUN_EXT)
- sudo ./ins_rm_mod.out
|