2012-04-23 69 views
3

我再次問this問題,一擰:GNU讓 - 尋找從父目錄源使用通配符

如何指定通配符模式時,文件在LOCAL_PATH的父目錄?

說,文件將是../../src/foo.cpp../../src/bar.cpp

代碼LOCAL_SRC_FILES := $(wildcard ../../src/*.cpp)指定一個空字符串。

+1

如果你得到一個空字符串,就意味着你的路徑是錯的。在運行make的同一個目錄中(記住這可能不是makefile所在的目錄!!)時運行'ls ../../*。cpp'會發生什麼? – MadScientist 2012-04-23 19:03:23

回答

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工具鏈期望在/jni文件夾中找到make文件(android.mk)。 $(call my-dir)似乎要返回/jni目錄(因爲這是make文件的位置)。但$(wildcard)似乎從當前目錄看。

我不太確定我是否在這裏,但實際上似乎是這樣。

編輯:這裏就是我這次嘗試用通配符 之前所使用的工作腳本(只是解釋你爲什麼一開始我做了什麼,我做了)

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