#
# V0.0.0.3 Ver.Make
# default to build for the running kernel
ifeq ("x", "x$(KERNEL_SRC)")
KERNEL_SRC=/lib/modules/$(shell uname -r)/build
endif
# use KERNEL_SRC if not called by our driver disk maker
ifeq ("x", "x$(KERNEL_SOURCE_DIR)")
KERNEL_SRC_DIR=$(KERNEL_SRC)
else
KERNEL_SRC_DIR=$(KERNEL_SOURCE_DIR)
endif
ifeq ("x", "x$(KERNEL_BUILD_DIR)")
KERNEL_BLD_DIR=$(KERNEL_SRC_DIR)
else
KERNEL_BLD_DIR=$(KERNEL_BUILD_DIR)
endif
ifneq ($(KERNELRELEASE),)
include $(SUBDIRS)/mv_conf.mk
else
include mv_conf.mk
endif
ifeq ("xy", "x$(RAID_MODULE)")
USE_RAID=y
LIB_TYPE=_raid_
else
USE_RAID=n
LIB_TYPE=_nonraid_
endif
# we may build for 32bit kernel on a 64bit system
CONFIG_64BIT=$(shell [ -f $(KERNEL_BLD_DIR)/.config ] && cat $(KERNEL_BLD_DIR)/.config | grep -m 1 CONFIG_64BIT | awk -F= '{print $$2}')
CONFIG_REGPARM=$(shell [ -f $(KERNEL_BLD_DIR)/.config ] && cat $(KERNEL_BLD_DIR)/.config | grep -m 1 CONFIG_REGPARM | awk -F= '{print $$2}')
CONFIG_SUSE_KERNEL=$(shell [ -f $(KERNEL_BLD_DIR)/.config ] && cat $(KERNEL_BLD_DIR)/.config | grep -m 1 CONFIG_SUSE_KERNEL | awk -F= '{print $$2}')
上文中
ifeq ("x", "x$(KERNEL_SRC)")
KERNEL_SRC=/lib/modules/$(shell uname -r)/build
endif
"x” 要和"x$(KERNEL_SRC)"做比较 但是这个x没有定义,要是是输入参数的话为什么是"x"?不是x呢?没想明白。
Terminal里面直接输入make就可以编译成功,但是这样不加入参数写的话是不是就没有意义了呢?没看明白,还请高手解答一下。谢谢。