交叉編譯生成模組的makefile寫法
阿新 • • 發佈:2019-02-07
以S3C6410為例,此時arm-none-linux-gnueabi-4.3.2已經安裝完畢。
首先把和板子上燒寫的核心同樣的核心原始碼放置到任意目錄下,如/usr/src/s3c-linux-2.6.28.6-Real6410。(核心原始碼需要配置,而板子附帶CD上一般是配置好的,在上面修改簡單一些)
進行make或./build。遇到了報錯,找不到XX檔案。查看了一下,指定目錄下是有這個檔案的。make clean再進行./build就行了。
在需要編譯的目的碼目錄下編寫makefile檔案,內容如下:
CROSS_COMPILE:= arm-linux- ARCH:= arm CC:= $(CROSS_COMPILE)gcc LD:= $(CROSS_COMPILE)ld obj-m := udpcli.o KERNELDIR := /usr/src/s3c-linux-2.6.28.6-Real6410 PWD := $(shell pwd) modules: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules modules_install: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install clean: rm -f *.o rm -f *.symversrm -f *.order rm -f *.ko rm -f *.mod.c