GNU make - 使用通配符从父目录中查找源代码

时间:2012-04-23 13:01:39

标签: android c android-ndk makefile

我正在重新询问this问题,但有一个转折:

当文件位于LOCAL_PATH的父目录中时,如何指定通配符模式?

说,文件将是../../src/foo.cpp../../src/bar.cpp

代码LOCAL_SRC_FILES := $(wildcard ../../src/*.cpp)分配一个空字符串。

1 个答案:

答案 0 :(得分:2)

我找到了解决方案,但我不太确定是什么问题。

旧脚本:

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

有效的新脚本:

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

我想my-dir和wildcard不会引用相同的工作目录。

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