2012-04-23 12 views
3

で親ディレクトリからソースを見つけるIひねりを加えた、this質問を再度求めている:ファイルがLOCAL_PATHの親ディレクトリにある場合GNU作る - ワイルドカード

は、どのように私は、ワイルドカードパターンを指定するのですか?

と言うと、ファイルは../../src/foo.cpp../../src/bar.cppとなります。

コードLOCAL_SRC_FILES := $(wildcard ../../src/*.cpp)は、空の文字列を割り当てます。

+1

あなたは空の文字列を取得する場合、それはあなたの道を意味します間違っている。 makeが実行されているのと同じディレクトリにあるとき(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は、/jniフォルダにmakeファイル(android.mk)があります。 $(call my-dir)/jniディレクトリを返しているようです(これはmakeファイルの場所です)。しかし、$(wildcard)は現在のディレクトリから見えるようです。

私がここにいるかどうかはわかりませんが、効果的にはそうだと思います。

編集:ここには、私は、ワイルドカード と、この試みの前に使用され、作業スクリプト(私は最初に私が何をしたかしなかった理由はただあなたを説明するために)

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