Android NDK: как включить Android.mk в другой Android.mk (иерархическая структура проекта)?

Похоже, что это возможно, но мой сценарий дает странные результаты:

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

include $(LOCAL_PATH)/libos/Android.mk
include $(LOCAL_PATH)/libbase/Android.mk
include $(LOCAL_PATH)/utils/Android.mk

LOCAL_MODULE := native
include $(BUILD_SHARED_LIBRARY)

Только первое включение обрабатывается нормально, другие файлы Android.mk разделяются по странным путям. Предложения?

Обновление: Я нарушил среду своего здания ... В офисе все было нормально, но дома LOCAL_PATH: = $ (call my-dir) определяет LOCAL_PATH как каталог NDK вместо каталога проекта. Это мой пакет для сборки:

set BASHPATH=K:\cygwin\bin\bash
set PROJECTDIR=/cygdrive/h/Alex/Alex/Work/Android/remote-android
set NDKDIR=/cygdrive/h/Alex/Programming_Docs/Android/android-ndk-r6/ndk-build
set APP_BUILD_SCRIPT=/cygdrive/h/Alex/Alex/Work/Android/project/jni/Android.mk
set DEV_ROOT=h:/Alex/Alex/Work/Android/project

%BASHPATH% --login -c "cd %PROJECTDIR% && %NDKDIR%"

Обновление: я совершенно не понимаю, как эта штука составляет пути. Я получаю ошибки с такими путями, как "/cygdrive/d/project/jni//cygdrive/d/Soft/project/jni/libos/src/libos.cpp". Это после того, как я решил указать все файлы в корне Android.mk вместо включения подмодулей.

Обновление 2: Не повезло, это тоже не работает:

LOCAL_PATH:= $(call my-dir)
# Include makefiles here.
include $(LOCAL_PATH)/libos/Android.mk
include $(LOCAL_PATH)/libbase/Android.mk
include $(LOCAL_PATH)/utils/Android.mk

# Clear variables here.
 include $(CLEAR_VARS)
20
задан Violet Giraffe 30 December 2014 в 18:12
поделиться