-
如何编译一个名字叫做test.c的模块。
-
首先,我们需要写一个简单的Makefile文件:
-
obj-m += test.o
-
将test.c和Makefile文件放在同一个目录下,然后就可以开始编译了,使用编译命令:
-
make -C /home/xxl/AM335x/kernel/kernel/ SUBDIRS=$PWD modules
当直接调用Makefile编译模块时,需要Makefile内容如下:
-
# Makefile for bitmain_asic_spi_drv
-
-
TARGET = bitmain_spi
-
-
OBJECT = bitmain-asic-drv.o sha2.o spi.o
-
-
ifneq ($(KERNELRELEASE),)
-
-
#kbuild syntax.
-
-
#obj-$(CONFIG_BITMAIN_ASIC_SPI) += $(TARGET).o
-
obj-m += $(TARGET).o
-
-
$(TARGET)-objs := $(OBJECT)
-
-
else
-
-
PWD := $(shell pwd)
-
-
#KERNEL_DIR := /lib/modules/`uname -r`/build
-
-
KERNEL_DIR := /home/xxl/AM335x/kernel/kernel
-
-
all : modules
-
-
modules:
-
-
$(MAKE) -C $(KERNEL_DIR) M=$(PWD) modules
-
-
clean:
-
-
rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions Module.markers modules.order Module.symvers
-
-
endif
-
阅读(1032) | 评论(0) | 转发(0) |