红联Linux门户
Linux帮助

linux入门学习----学会制作makefile文件

发布时间:2011-12-12 18:09:57来源:红联作者:雾月O秋水
最近学习了jni的调用,对于每次修改.c或者.cpp之后,就要更新一下相应的.so是件很麻烦的事情阿,于是便写了个makefile文件,一下就很方便。对此,分享给初学者,希望能用上。
makefile文件格式是:
target ... : prerequisites ...
command
值得注意的是command前面一定要有一个Tab键,target前面是顶格的。
下面是我的一个例子,其过程是:编写了一个Femb.java的文件,其中有个native方法,要求连接的是liblinkjni.so动态库文件,然后编译javac Femb.java,javah Femb。接着就编写了Femb.cpp文件,其引入了Femb.h,运行相应指令生成了Femb.o文件,再运行g++ -rdynamic -shared -o liblinkjni.so Femb.o libfemb.a就生成了.so文件。以后每次修改都要把这些指令重新运行一边是很烦人的,就写个makefile文件是很方便了。相应的makefile文件如下:
edit:Femb.o libfemb.a makefile
g++ -rdynamic -shared -o liblinkjni.so Femb.o libfemb.a
Femb.o:Femb.cpp Femb.h
g++ -c Femb.cpp -I/usr/lib/jvm/java-6-sun/include/linux/ -I/usr/lib/jvm/java-6-sun/include/
Femb.h:Femb.java
javac Femb.java
javah Femb
clear:
rm -rf *.log Femb.o liblinkjni.so

这里需要注意的是:一定要在第一行末端写上你的makefile文件的名称,这样你就可以试着写些你自己的makefile文件了。makefile文件对于windons系统也适用的。想更详细的学习makefile文件的制作就下载下面的附件吧。
文章评论

共有 9 条评论

  1. angel318393 于 2012-08-25 09:03:47发表:

    这个帖子不错,大家快来顶起来!

  2. tanchengming 于 2012-08-24 20:36:37发表:

    ????~~0:w(5(

  3. cafilin 于 2012-08-11 22:17:36发表:

    没看明白。。。

  4. wfc1102 于 2012-08-11 17:43:27发表:

    谢谢楼主,学习ing

  5. pc_Samba 于 2012-08-08 17:02:47发表:

    感谢分享。

  6. cfl2011 于 2012-08-08 16:21:46发表:

    向楼主学习

  7. houdezaiwu1991 于 2012-08-01 11:22:48发表:

    正要学makefile

  8. Hbhmycg 于 2011-12-12 21:28:37发表:

    向楼主学习

  9. 123456queyi 于 2011-12-12 19:57:29发表:

    谢谢分享