返回信息流下面是一个设备驱动程序的makefile文件的主体代码:
# Modify path if required.
include $(CN18XX_ROOT)/driver/src/driver.mk
# Setup compilation flags here
#
WARNINGS = -Wall -Wuninitialized -Wunused-function -Werror-implicit-function-declaration
INCLUDE += -I. -I$(SUBDIRS)/../osi \
-I$(SUBDIRS)/../include -I$(SUBDIRS)
EXTRA_CFLAGS += -D__SMP__ -O2 -finline-functions $(INCLUDE) $(WARNINGS)
default: all
OBJS += cn18xx_linux.o \
cn18xx_main.o \
../osi/request_manager.o \
../osi/response_manager.o \
# The driver object file
obj-m := cn18xx_drv.o
cn18xx_drv-y := $(OBJS)
all:
$(MAKE) -C $(kernel_source) SUBDIRS=`pwd` modules
上述驱动的makefile文件中,$(MAKE) -C $(kernel_source) SUBDIRS=`pwd` modules这句进入了内核目录,但是怎么就能根据这一句就生成来驱动的.ko模块文件呢?
还有OBJS中的各种.o文件是怎么根据INCLUDE中各.c文件生成的呢? 驱动中的makefile怎么和内核相结合呢?
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #10716同步于 2011/5/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
驱动程序的makefile问题
cxj1125
2011/5/31镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
$(MAKE) -C $(kernel_source)
这个等同于在kernel_source 里面进行编译,只不过传进去参数SUBDIRS=。。。。
【 在 cxj1125 (system) 的大作中提到: 】
: 下面是一个设备驱动程序的makefile文件的主体代码:
: # Modify path if required.
: include $(CN18XX_ROOT)/driver/src/driver.mk
: ...................