当前位置: 技术问答>linux和unix
是不是我makefile写错了?
来源: 互联网 发布时间:2016-02-15
本文导语: 2.4内核的,写了一个很简单的驱动,直接用 "gcc -O3-wall _DMODULE -D_KERNEL_ -I usr/src/linux-2.4.20-8/include -c mydrive.c"编译成功 后来想用make来编译,写了一个makefile(如下),却连 ".o"文件也没生成,不知道是不是写错了,哪位能帮...
2.4内核的,写了一个很简单的驱动,直接用 "gcc -O3-wall _DMODULE -D_KERNEL_ -I usr/src/linux-2.4.20-8/include -c mydrive.c"编译成功
后来想用make来编译,写了一个makefile(如下),却连 ".o"文件也没生成,不知道是不是写错了,哪位能帮忙看下?
obj-m := mydrive.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.ko *.o *.mod.c
还有一个问题,这论坛怎么拿分啊?我分少给不起:)
后来想用make来编译,写了一个makefile(如下),却连 ".o"文件也没生成,不知道是不是写错了,哪位能帮忙看下?
obj-m := mydrive.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.ko *.o *.mod.c
还有一个问题,这论坛怎么拿分啊?我分少给不起:)
|
你写的Makefile是2.6的,你可以这样写
CC=gcc
OBJ=mydriv.o
CFLAGS=-O3 -wall _DMODULE -D_KERNEL_
INCLUDE=/usr/src/linux-2.4.20-8/include
default:
$(CC) $(CFLAGS) -I$(INCLUDE) -c mydrive.c -o mydrive.o
clean:
rm -f *.o
CC=gcc
OBJ=mydriv.o
CFLAGS=-O3 -wall _DMODULE -D_KERNEL_
INCLUDE=/usr/src/linux-2.4.20-8/include
default:
$(CC) $(CFLAGS) -I$(INCLUDE) -c mydrive.c -o mydrive.o
clean:
rm -f *.o
|
对makefile学习不深,不过对你最后一个问题可以提示一下,这里要拿分不光要每天登陆,还要回个帖,才能每天加10分,这也是我回你这个帖子的原因。