Android NDK学习(8)Android Makefile探索2 .

前面写的makefile比较简单,主要是要测试的代码结构比较简单。

这次,源文件、头文件不在同一个文件夹下了,那又该如何写makefile呢?

首先,我的代码目录结构如下:


1、在jni主目录首先有一个MK文件,内容如下:

MY_LOCAL_PATH :=$(call my-dir)
LOCAL_PATH :=$(MY_LOCAL_PATH)

include $(call all-subdir-makefiles)

2、src1目录下是一个test.c的源文件、Android.mk,其中,Android.mk内容如下:

#Android.mk和需要编译的源文件在同一目录下
#
LOCAL_PATH := $(call my-dir)

#源文件列表
#
common_SRC_FILES := test.c 
#头文件列表
#
common_C_INCLUDES := $(MY_LOCAL_PATH)/include
#模块开始
#
include $(CLEAR_VARS)
#源文件列表
#
LOCAL_SRC_FILES := $(common_SRC_FILES) 
#头文件列表
#
LOCAL_C_INCLUDES += $(common_C_INCLUDES)

#生成的程序名
#
LOCAL_MODULE:= src1
#此处有三个选择:可执行程序,动态库,静态库
#
include $(BUILD_STATIC_LIBRARY)

3、pdfapi里面是com_ycan_PDFLib.c、com_ycan_PDFLib.h、Android.mk,其中Android.mk内容如下:

LOCAL_PATH :=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES :=com_ycan_PDFLib.c
LOCAL_C_INCLUDES +=com_ycan_PDFLib.h \
                   $(MY_LOCAL_PATH)/include
LOCAL_STATIC_LIBRARIES :=src1
LOCAL_MODULE:= com_ycan_PDFLib
include $(BUILD_SHARED_LIBRARY)

4、include里面是test.h;

 心得:写android makefile文件除了了解和熟悉语法之外,最重要的就是要理清代码之间的依赖关系。

#开头的为makefile的注释。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章