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的註釋。


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