【问题标题】:Makefile change to select between files of different formatMakefile 更改以在不同格式的文件之间进行选择
【发布时间】:2020-04-08 16:35:15
【问题描述】:

我的项目中目前有 .c 和 .cpp 文件格式的文件。我想在 Makefile 中自动生成目标文件,以根据文件的可用性动态选择 .c 或 .cpp 文件。

目前,

obj/%.o : %.cpp
    $(CXX) $(MKDEPEND) -c -o $@ $(CFLAGS) $(INCDIRS) $<

示例解决方案

obj/%.o : %.cpp (OR) %.c
    $(CXX) $(MKDEPEND) -c -o $@ $(CFLAGS) $(INCDIRS) $<

有什么解决办法吗?谢谢。

【问题讨论】:

    标签: c++ c makefile


    【解决方案1】:

    只需制定两条不同的规则。无论如何,您都不想使用相同的配方(您不想使用 C++ 编译器来编译 C 代码)。

    obj/%.o : %.cpp
            $(CXX) $(MKDEPEND) -c -o $@ $(CXXFLAGS) $(INCDIRS) $<
    
    obj/%.o : %.c
            $(CC) $(MKDEPEND) -c -o $@ $(CFLAGS) $(INCDIRS) $<
    

    Make 将尝试匹配这两个规则并使用匹配的任何一个,而忽略其他规则。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多