【问题标题】:GNU make - finding sources from parent directories with wildcardGNU make - 使用通配符从父目录中查找源
【发布时间】:2012-04-23 13:01:38
【问题描述】:

我重新问this 的问题,有点扭曲:

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

比如说,文件是../../src/foo.cpp../../src/bar.cpp

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

【问题讨论】:

  • 如果你得到一个空字符串,这意味着你的路径是错误的。当您在运行 make 的同一目录中运行 ls ../../*.cpp 时会发生什么(请记住,这可能不是是 makefile 所在的目录!)?

标签: android c android-ndk makefile


【解决方案1】:

我找到了解决方案,但我不太确定问题出在哪里。

旧脚本:

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

有效的新脚本:

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

我猜 my-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

【讨论】:

    猜你喜欢
    • 2011-01-29
    • 2023-03-05
    • 1970-01-01
    • 2017-11-08
    • 2021-07-23
    • 1970-01-01
    • 2010-12-01
    • 2015-09-09
    • 2019-04-10
    相关资源
    最近更新 更多