在調試過程當中,若是能單獨編譯某個驅動模塊,就能極大提高編譯效率,那麼對應的Makefile要如何編寫?直接上實例linux
#獲取當前路徑 PWD:=$(shell pwd) #linux源碼根目錄,根據實際狀況修改,如下是本人當前路徑 KERNEL:=$(HOME)/workspace/aw/ap/lichee/linux-3.10 #設置交叉編譯器的路徑,根據實際狀況修改 CROSS_COMPILE=$(HOME)/workspace/aw/ap/lichee/out/external-toolchain/gcc-aarch64/bin/aarch64-linux-gnu- #指定ARCH架構 ARCH:=arm64 LD:=$(CROSS_COMPILE)ld #驅動模塊的名稱 obj-m:= xxx_device.o #編譯此驅動模塊涉及的源碼文件 xxx_device-objs := xxx.o xxx_dev.o all: $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KERNEL) M=$(PWD) modules clean: rm -rf *.o *.cmd *.ko *.mod.c modules.order Module.symvers
若是不知道使用的交叉編譯工具具體是哪一個或者在哪一個路徑,能夠在全局編譯的腳本中,echo "$CROSS_COMPILE"查看。shell