Похоже, что это возможно, но мой сценарий дает странные результаты:
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)