c++ - 如何将模式规则应用于多个目录?

标签 c++ makefile

我正在处理一个 CPP 项目,我有一个包含源代码 (src) 的文件夹和第一个依赖的另一个外部代码文件夹。 我需要从两个文件夹生成扩展名为 .o 的文件。

我的这些目标运作良好:

# Generate object files from .cpp files of external source code
$(OBJECTS_PATH)%.o : $(EXTERNAL_SRC_PATH)%.cpp
    $(CXX) $(CXX_EXTRA_FLAGS) -c $^ -o $@

# Generate object files from .cpp files of my source code
$(OBJECTS_PATH)%.o : $(SOURCE_CODE_PATH)%.cpp
    $(CXX) $(CXX_EXTRA_FLAGS) -c $^ -o $@

有什么办法可以统一目标吗?

最佳答案

Is there any way to unify the targets?

只要将目标文件构建到与源层次结构同构的目录层次结构中,就有一种方法可以统一目标。否则,您可能会发生名称冲突,例如,不同的源目录可能具有同名的源文件,这些文件都构建到同一个目标文件中。

关于c++ - 如何将模式规则应用于多个目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58409666/

相关文章:

linux - 我怎样才能在 gnu make 目标中获得第二个变量

c++ - 尝试 push_back 到 std::vector 时出现段错误

c++ - Qt 从另一个类设置按钮颜色

android - clock_gettime 的 Ubuntu-to-Android 交叉编译链接

c++ - 我的 makefile 不断地自行编译;我究竟做错了什么?

c - 使用Makefile编译后删除临时文件

c++ - 尝试将指针分配给结构时程序崩溃

c++ - 意识到对象何时更改某些值

c++ - ATL 和 WTL 有什么区别?

Makefile.in 和变量替换