如何编写Makefile引用外部内核源码
内核:
需要编译lib库,但C文件和内核源码不在一个目录下
如何编写Makefile引用内核源码?
我的Makefile如下,提示找不到用到的内核源码
KERNELDIR=/PROJECT/kernel/kernel
CROSS_COMPILE ?=
AS = $(CROSS_COMPILE)as
LD = $(CROSS_COMPILE)ld
CC = $(CROSS_COMPILE)gcc
CPP = $(CC) -E
AR = $(CROSS_COMPILE)ar
NM = $(CROSS_COMPILE)nm
lib_OBJECTS = hook_driver.o
lib_SOURCE = hook_driver.c
hook_driver.a(lib_OBJECTS)
$(AR) $(KERNELDIR) M=$(shell pwd) -o $@ $^
$(lib_OBJECTS)(lib_SOURCE)
$(CC) $(KERNELDIR) M=$(shell pwd) -o $@ $^
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions *.bak Module.symvers *.order
需要编译lib库,但C文件和内核源码不在一个目录下
如何编写Makefile引用内核源码?
我的Makefile如下,提示找不到用到的内核源码
KERNELDIR=/PROJECT/kernel/kernel
CROSS_COMPILE ?=
AS = $(CROSS_COMPILE)as
LD = $(CROSS_COMPILE)ld
CC = $(CROSS_COMPILE)gcc
CPP = $(CC) -E
AR = $(CROSS_COMPILE)ar
NM = $(CROSS_COMPILE)nm
lib_OBJECTS = hook_driver.o
lib_SOURCE = hook_driver.c
hook_driver.a(lib_OBJECTS)
$(AR) $(KERNELDIR) M=$(shell pwd) -o $@ $^
$(lib_OBJECTS)(lib_SOURCE)
$(CC) $(KERNELDIR) M=$(shell pwd) -o $@ $^
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions *.bak Module.symvers *.order
作者: star990 发布时间: 2011-01-17
指定你的include 路径为你当现内核路径就可以吧
作者: 468904197 发布时间: 2011-01-17
$ make -C ${kernel_src} M=$(pwd)
作者: linyunxian 发布时间: 2011-01-17
$ make -C ${kernel_src} M=$(pwd)
这个是编KO的方法,我要编O
然后再AR成.a
这个是编KO的方法,我要编O
然后再AR成.a
作者: star990 发布时间: 2011-01-17