2012-04-23 2 views
3

Я снова спрашивают this вопрос, с изюминкой:GNU сделать - поиск источников из родительских каталогов с групповым символом

Как указать шаблон, когда файлы находятся в родительском каталоге local_path?

скажем, что файлы будут ../../src/foo.cpp и ../../src/bar.cpp.

код LOCAL_SRC_FILES := $(wildcard ../../src/*.cpp) присваивает пустую строку.

+1

Если вы получите пустую строку, это означает, что ваш путь неправильно. Что происходит, когда в том же каталоге, где выполняется make (помните, что это может быть _not_ быть каталогом, в котором находится makefile!) Вы запускаете 'ls ../../*. Cpp'? – MadScientist

ответ

2

Я нашел решение, но я не совсем уверен, в чем проблема.

Старый сценарий:

LOCAL_PATH := $(call my-dir) 
LOCAL_SRC_FILES := $(wildcard ../../src/*.cpp) 

Новый скрипт, который работает:

LOCAL_PATH := $(call my-dir)/.. 
LOCAL_SRC_FILES := $(wildcard ../src/*.cpp) 

Я предполагаю, что мой-Dir и подстановочные не относятся к той же директории.

Android ndk toolchain рассчитывает найти файл make (android.mk) в папке /jni. $(call my-dir), похоже, возвращает каталог /jni (потому что там находится файл make). Однако $(wildcard), похоже, выглядит из текущего каталога.

Я не совсем уверен, что я здесь, но, похоже, это так.

EDIT: А вот рабочий сценарий, который я использовал до этого попытки с групповым символом (только объяснить вам, почему я изначально сделал то, что я сделал)

LOCAL_PATH := $(call my-dir) 
LOCAL_SRC_FILES := ../../src/foo.cpp \ 
../../src/bar.cpp