ifeq ($(KERNELRELEASE),)
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
clean:
rm -rf .o *~ core .depend ..cmd *.ko *.mod.c .tmp_versions
.PHONY: modules modules_install clean
else
obj-m := globalmem.o
endif
ifeq ($(KERNELRELEASE),)这一句执行之后,else便不会再执行,但是为什么else还能起作用呢???
是这样的
ifeq...else...endif
也就是说,ifeq满足条件,那么就会执行下面的语句,而else就不会被执行了,否则执行else
也就是说他们两个只有一个会起作用,但是我发现他们两个都起作用了,改任何一个都会报错,为什么???