3

NDK 8b,Eclipse / Cygwin

我正在尝试向 Android.mk 添加自定义预构建步骤:

1) 对于源代码树中的每个 *.xyz 文件,运行生成相应 .h 和 .cpp 文件的自定义工具

2) 将 .cpp 文件添加到 LOCAL_SRC_FILES

我已经阅读了这篇文章,但它并不是我想要的(它只适用于一个文件)

4

1 回答 1

1

根据http://www.gnu.org/software/make/manual/make.html你可以使用老式的后缀规则:

source_xyz_files = a.xyz b.xyz
.xyz.cpp: $(source_xyz_files)
    if test "`dirname $@`" != "."; then mkdir -p "`dirname $@`"; fi
    tool_to_create_cpp_and_h_from_xyz $< $@ $(patsubst %.cpp,%.h,$@)
LOCAL_SRC_FILES += $(patsubst %.xyz,%.cpp,$(source_xyz_files))

或模式规则:

generated_cpp_files = a.cpp b.cpp
$(generated_cpp_files) : %.cpp : %.xyz
    if test "`dirname $@`" != "."; then mkdir -p "`dirname $@`"; fi
    tool_to_create_cpp_and_h_from_xyz $< $@ $(patsubst %.cpp,%.h,$@)
LOCAL_SRC_FILES += $(generated_cpp_files)
于 2013-02-01T12:15:16.033 回答