前天弄好了NDK的开发环境,做了jni 的开发测试。由于没有在实际的项目中使用NDK开发,不知道下面该弄点什么。想起之前做ril的时候,调试3G模块时,自己写的AT command的交互程序的编译是放到android源码中利用Android.mk编译的。一直想写make文件独立于android源码编译 C/C++.
那就开始了!交叉编译器就用 NDK自己的。
先贴上makefile。
- cc=/work/tool/android-ndk-r5/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-gcc
- pre-path=/work/tool/android-ndk-r5/platforms/android-8/arch-arm/usr
- lib=$(pre-path)/lib
- ic=$(pre-path)/include
- extra_objs:=$(pre-path)/lib/crtend_android.o $(pre-path)/lib/crtbegin_static.o
- LDFLAGS +=-nostdlib
- LDFLAGS += -lc -ldl -Bdynamic -Wl,-dynamic-linker,/system/bin/linker
- shard: shard.o
- $(cc) $(LDFLAGS) $(extra_objs) -g -o0 -Wall -std=c99 -I$(ic) -L$(lib) -o shard shard.o
- shard.o: shard.c
- $(cc) -I$(ic) -L$(lib) -c shard.c
- .PHONY:clean
- clean:
- rm shard shard.o
C文件很简单
- #include <string.h>
- #include <stdio.h>
- static char * s_string= "我是 辉辉'/n'我的邮箱lzh20044178@163.com" ;
- int main()
- {
- printf("%s/n" , s_string);
- return 0;
- }
对此makefile的参数的注释,参看
http://blog.csdn.net/lzh20044178/archive/2011/02/16/6188515.aspx 的 2.3 Study Hard
如何写makefile文件电子书
http://pipi.googlecode.com/files/How%20to%20Write%20makefile.pdf
运行截图:
Makefile 文件是非常强大滴,继续学习中。