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 <[email protected]> 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 me > Here 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. > else > KERNELDIR ?= /lib/modules/$(shell uname -r)/build > PWD := $(shell pwd) > default: > $(MAKE) -C $(KERNELDIR) M=$(PWD) modules > endif > It give the following output when I run make : > > make: Nothing to be done for `default'. > > > _______________________________________________ > Kernelnewbies mailing list > [email protected] > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > >
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
