3、Makefile的编写前面讲完了最简单的驱动模块的代码结构,这里继续讲解Makefile文件的编写。
KERNEL_DIR=/home/jianfei/workdir/linux_driver/ebf-buster-linux/build_image/buildARCH=armCROSS_COMPILE=arm-linux-gnueabihf-export ARCH CROSS_COMPILEobj-m := led_driver.oapp_obj=ledall: $(MAKE) -C $(KERNEL_DIR) M=$(CURDIR) modules arm-linux-gnueabihf-gcc led.c -o $(app_obj).PHONE:clean copyclean: $(MAKE) -C $(KERNEL_DIR) M=$(CURDIR) clean sudo rm /home/jianfei/workdir/*.ko sudo rm /home/jianfei/workdir/$(app_obj)copy: sudo cp *.ko $(app_obj) /home/jianfei/workdir
(1) KERNEL _DIR,变量的值就是我们用来编译这个模块的内核源码树的目录(2) obj-m := led_driver.o,这一行就表示我们要将led_driver.c文件编译成一个模