安卓之Android.mk多文件以及動態庫編譯

一、多文件編譯函數

多文件編譯共有兩種方式:spa

  (1) 在Android.mk中一一添加code

      LOCAL_PATH:= $(call my-dir)  #定義當前模塊的相對路徑
      include $(CLEAR_VARS)      #清空當前環境變量
      LOCAL_MODULE:= test      #編譯生成的目標名稱
      LOCAL_SRC_FILES :=  test1.c \
                  test2.c \
                  test3.c
                #編譯該模塊所須要的源文件      # LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當前目錄生成該模塊文件       include $(BUILD_EXECUTABLE)   #編譯以後的文件類型

  (2)在Android.mk中調用函數 blog

     LOCAL_PATH:= $(call my-dir)  #定義當前模塊的相對路徑
      include $(CLEAR_VARS)      #清空當前環境變量
      LOCAL_MODULE:= test      #編譯生成的目標名稱
      LOCAL_C_ALL_FILES := $(call all-c-files-under) #加載全部的文件     
      LOCAL_SRC_FILES := $LOCAL_C_ALL_FILES       
     # LOCAL_SRC_FILES := test.c    #編譯該模塊所須要的源文件  
     # LOCAL_MODULE_PATH:=$(LOCAL_PATH)  #在當前目錄生成該模塊文件
      include $(BUILD_EXECUTABLE)   #編譯以後的文件類型

 

二、一個Android.mk生成多個目標文件,只須要在Android.mk下面作以下的操做編譯

       LOCAL_PATH:= $(call my-dir)  #定義當前模塊的相對路徑
      include $(CLEAR_VARS)      #清空當前環境變量
      LOCAL_MODULE:= test1      #編譯生成的目標名稱
      LOCAL_C_ALL_FILES := $(call all-c-files-under) #加載全部的文件     
      LOCAL_SRC_FILES := $LOCAL_C_ALL_FILES       
     # LOCAL_SRC_FILES := test.c    #編譯該模塊所須要的源文件  
     # LOCAL_MODULE_PATH:=$(LOCAL_PATH)  #在當前目錄生成該模塊文件
      include $(BUILD_EXECUTABLE)   #編譯以後的文件類型


      LOCAL_PATH:= $(call my-dir)  #定義當前模塊的相對路徑
      include $(CLEAR_VARS)      #清空當前環境變量
      LOCAL_MODULE:= test2      #編譯生成的目標名稱
      LOCAL_C_ALL_FILES := $(call all-c-files-under) #加載全部的文件     
      LOCAL_SRC_FILES := $LOCAL_C_ALL_FILES       
     # LOCAL_SRC_FILES := test.c    #編譯該模塊所須要的源文件  
     # LOCAL_MODULE_PATH:=$(LOCAL_PATH)  #在當前目錄生成該模塊文件
      include $(BUILD_EXECUTABLE)   #編譯以後的文件類型
 

 

三、生成動態庫,操做Android.mkclass

      LOCAL_PATH:= $(call my-dir)  #定義當前模塊的相對路徑
      include $(CLEAR_VARS)      #清空當前環境變量
      LOCAL_MODULE:= libtest      #編譯生成的目標名稱
      LOCAL_SRC_FILES :=  test1.c \
                  test2.c  \
                  test3.c
                #編譯該模塊所須要的源文件   
     # LOCAL_MODULE_PATH:=$(LOCAL_PATH)  #在當前目錄生成該模塊文件
      include $(BUILD_SHARED_LIBRARY)   #編譯以後的文件類型

 

四、生成靜態庫,操做Android.mktest

      LOCAL_PATH:= $(call my-dir)  #定義當前模塊的相對路徑
      include $(CLEAR_VARS)      #清空當前環境變量
      LOCAL_MODULE:= libtest      #編譯生成的目標名稱       LOCAL_SRC_FILES := test1.c \                   test2.c \                   test3.c                 #編譯該模塊所須要的源文件      # LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當前目錄生成該模塊文件       include $(BUILD_STATIC_LIBRARY)   #編譯以後的文件類型

 

####共勉#####變量

相關文章
相關標籤/搜索