各位老大帮小弟看看!!(恳求)
小弟我,刚接触linux驱动,买了本《linux设备驱动程序》学习。可是刚看就遇到了问题:
我按照书写了个makefile文件:
#如果已定义KERNELRELEASE,则说明是从内核构造系统调用的,
#因此可以利用期内建语句。
ifneq ($(KERNELRELEASE),)
obj-m :=hello.o
#否则,是直接从命令行调用的,
#这是要调用内核构造系统。
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
书中的hello.c也是搬书上的,可是总是出现:Nothing to be done for 'default'.
如果去掉
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules还是出错!!这到底是怎么回事啊。
各位老大,小弟初学习驱动。懂得少,所以不怕老大们BS——只要能解决问题就行,我是真地想学啊!!