Hi David,
As Rajat said, we need to give TAB space before an executable command in the Makefile. However, here is the simple Makefile, for your reference.
KDIR:=/lib/modules/$(shell uname -r)/build
obj-m:=hello.o
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
I hope this helps to you.
Regards,
Srinivas
On Tue, Jul 2, 2013 at 6:37 PM, David kiarie <davidkiarie4@xxxxxxxxx> wrote:
Hi everybody,I currently started learning how to write Linux drivers.I am following Linux Device Drivers Third Edition.I have everything set right but the makefile provided seem not to work.I am familiar with makefiles but the kernel build system confuses meHere is the makefile:# If KERNELRELEASE is defined, we've been invoked from the# kernel build system and can use its language.ifneq ($(KERNELRELEASE),)obj-m := hello.o# Otherwise we were called directly from the command# line; invoke the kernel build system.elseKERNELDIR ?= /lib/modules/$(shell uname -r)/buildPWD := $(shell pwd)default:$(MAKE) -C $(KERNELDIR) M=$(PWD) modulesendifIt give the following output when I run make :make: Nothing to be done for `default'.
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies