**** Linux上的程序移植到AIX上,Makefile怎么写? *****

universes 2006-12-26 10:56:40
写了一个驱动模块程序 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没写对,但是不知怎么修改

望高手指点,不甚感激!!!
...全文
419 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
universes 2006-12-26
  • 打赏
  • 举报
回复
刚刚查了一些文档,确实如playmud所说,看来必须要看AIX的文档,重写全部代码了:(

那哪位有这方面的文档吗?
1,在AIX下开发动态加载的内核模块
2,有关于 字符设备驱动
3,具体说是伪终端设备(一种字符设备charactor device)驱动

有多少给多少吧,谢谢了!
playmud 2006-12-26
  • 打赏
  • 举报
回复
这种内核模块形式的驱动,不是说你随便放在什么操作系统上都可以去make以后加载的。
playmud 2006-12-26
  • 打赏
  • 举报
回复
aix和linux的内核不是一样的,aix里面没有Linux库和头文件,make也不同。
我不清楚aix的驱动是不是通过动态加载内核模块加载的,即便是可以,你也要根据aix的内核函数和驱动格式来重新写驱动程序。
goodgod105 2006-12-26
  • 打赏
  • 举报
回复
放到一个文件夹里呗 然后在make
universes 2006-12-26
  • 打赏
  • 举报
回复
谢谢两位!

to playmud:
我这是一个伪终端驱动程序,应该可以吧?

另外在Linux中编译模块总要 include module.h,但是在AIX 5.3中

find / -name module.h

没有找到任何结果,怎么办?

还有其他一些在linux中有的头文件这里也都找不到:(
playmud 2006-12-26
  • 打赏
  • 举报
回复
FT,linux的驱动能这么直接移植到AIX???
NC 2006-12-26
  • 打赏
  • 举报
回复
看提示应该是xxx.c中 include了linux/config.h ,改改xxx.c吧

23,114

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧