当前位置: 技术问答>linux和unix
**** Linux上的程序移植到AIX上,Makefile怎么写? *****
来源: 互联网 发布时间:2016-01-01
本文导语: 写了一个驱动模块程序 xxx.c(只有一个.c文件),在linux(Redhat Enterprise 4.4,内核 2.6.9,gcc 3.4.6)上编译通过,并且能够正常运行 linux上的makefile 很简单: obj-m := xxx.o default: make -C /usr/src/linux M=`pwd` mod...
写了一个驱动模块程序 xxx.c(只有一个.c文件),在linux(Redhat Enterprise 4.4,内核 2.6.9,gcc 3.4.6)上编译通过,并且能够正常运行
linux上的makefile 很简单:
obj-m := xxx.o
default:
make -C /usr/src/linux M=`pwd` modules
将这个c文件和makefile移到AIX 5.3下(机器是150小型机,gcc 4.0.0)编译不过:(
出错是:
make: 1254-002 Cannot find a rule to create target = from dependencies. Stop.
我将makefile 改成:
obj-m: xxx.o
default:
make VPATH=/usr/include M=`pwd` modules
后,提示的错误是:
cc -O -c xxx.c
.....error linux/config.h: No such file or directory
....
我想应该是Makefile没写对,但是不知怎么修改
望高手指点,不甚感激!!!
linux上的makefile 很简单:
obj-m := xxx.o
default:
make -C /usr/src/linux M=`pwd` modules
将这个c文件和makefile移到AIX 5.3下(机器是150小型机,gcc 4.0.0)编译不过:(
出错是:
make: 1254-002 Cannot find a rule to create target = from dependencies. Stop.
我将makefile 改成:
obj-m: xxx.o
default:
make VPATH=/usr/include M=`pwd` modules
后,提示的错误是:
cc -O -c xxx.c
.....error linux/config.h: No such file or directory
....
我想应该是Makefile没写对,但是不知怎么修改
望高手指点,不甚感激!!!
|
aix和linux的内核不是一样的,aix里面没有Linux库和头文件,make也不同。
我不清楚aix的驱动是不是通过动态加载内核模块加载的,即便是可以,你也要根据aix的内核函数和驱动格式来重新写驱动程序。
我不清楚aix的驱动是不是通过动态加载内核模块加载的,即便是可以,你也要根据aix的内核函数和驱动格式来重新写驱动程序。
|
看提示应该是xxx.c中 include了linux/config.h ,改改xxx.c吧
|
放到一个文件夹里呗 然后在make