Использование функции «подстановочные знаки» в Android.mk

У меня возникла проблема с использованием wildcard функции Make в моем файле сборки Android.mk.

Мои другие make-файлы используют строку, подобную этой, чтобы указать «Все файлы .c в этой папке»:

CFILES := $(wildcard *.c)

В моем файле Android.mk я попробовал это:

LOCAL_SRC_FILES := $(wildcard *.c)

Тем не менее, это имеет тот же эффект, что и не включая файлы вообще.

Если я включаю файлы вручную, то assembly работает так, как я ожидал.

Мне интересно, может быть, текущий рабочий каталог не мой путь к проекту во время оценки этого утверждения? Если да, могу ли я использовать комбинацию $(call my-dir) и подстановочную функцию, чтобы получить список, который я хочу?

Вот что я использовал в прошлом для этого:

 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := mylibrary LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.c) include $(BUILD_STATIC_LIBRARY) 

‘my-dir’ – это макрос, предоставляемый системой сборки, и возвращает путь к каталогу, содержащему файл Android.mk.

Если ваше определение «this directory» является «каталогом, содержащим этот makefile», то

 $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))*.c) 

должен работать.

(предостережение: я не знаю от Android)