Зависимости между 2 файлами Android.mk - PullRequest
0 голосов
/ 23 мая 2019

У меня есть 2 файла Android.mk, первый из которых собирает несколько библиотек, а второй создает другую библиотеку, но для завершения сборки первой требуется первая библиотека. Есть ли способ убедиться, что это произойдет?

Это то, что я пробовал до сих пор:

  1. LOCAL_ADDITIONAL_DEPENDENCIES := path/to/folder/for/android1.mk
  2. Порядок перечисления этих файлов Android.m (1 & 2)
  3. Добавление LOCAL_SHARED_LIBRARIES := a.so b.so ...

Но ни один из них не помог до сих пор

######################################################################
# Android1.mk
######################################################################

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES := a1.c a2.c
LOCAL_MODULE := lib_a
LOCAL_MODULE_TAGS := optional
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_CLASS := SHARED_LIBRARIES

include $(BUILD_SHARED_LIBRARY)

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES := b1.c b2.c
LOCAL_MODULE := lib_b
LOCAL_MODULE_TAGS := optional
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_CLASS := SHARED_LIBRARIES

include $(BUILD_SHARED_LIBRARY)

######################################################################
# Android2.mk
######################################################################

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES := abc.c xyz.c
LOCAL_MODULE := lib_2
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE_TAGS := optional
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_ADDITIONAL_DEPENDENCIES := /path/to/folder/where/Android1.mk/resides

LOCAL_SHARED_LIBRARIES += \
    lib_a \
    lib_b

include $(BUILD_SHARED_LIBRARY)

Предостережение заключается в том, что abc.c / xyz.c не делает никаких вызовов в lib_a.so/lib_b.so/lib_z.so. Но я создаю скрипт (в Android2.mk) и для этого требую, чтобы все библиотеки (в Android1.mk) были собраны до

...