如何在makefile中为目标编写特定规则?

wl

我知道标题很含糊,但我只是不知道如何简单地描述我的问题。如果需要,请对其进行编辑。

目前,我的makefile如下所示:

CC = g++
CFLAGS = -Wall -g

TARGET = foobar
SRC_FILES = foo.cpp bar.cpp main.cpp
OBJ_FILES := $(SRC_FILES:.cpp=.o)

$(TARGET): $(OBJ_FILES)
    $(CC) $(CFLAGS) $^ -o $@

%.o: %.cpp %.h
    $(CC) $(CFLAGS) -c $<

clean:
    rm -rf *.o $(TARGET)

问题在于此结构需要main.cpp具有一个main.h头文件,而我实际上并没有。我该如何处理好呢?

YSC

GCC(也许还有Clang)可以为您建立一个依赖关系列表。这样,您可以简单地从源文件(cpp)中创建目标文件:

depend: .depend

.depend: $(SRC_FILES)
        rm -f ./.depend
        $(CC) $(CFLAGS) -MM $^ -MF  ./.depend;

include .depend

%.o: %.cpp
    $(CC) $(CFLAGS) -c $<

您可能还会发现对该makedepend工具感兴趣

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从iptables中删除特定规则?

如何禁用FSharpLint中的特定规则?

如何在Yacc中制定特定规则以先于其他规则先减少?

如何在numpy中使用特定规则从数组中获取值

如何在SonarQube中仅运行一个特定规则?

如何在特定规则上出错而不是警告

为什么makefile在没有任何特定规则的情况下自动生成目标文件(* .o)?

如何在makefile中为pythonanywhere编写反斜杠字符

如何在Makefile中为直到循环编写超时功能

如何避免tslint特定规则?

有多个目标时,如何在Makefile规则中的字符串中添加后缀?

如何将$ @更新为Makefile变量相关目标规则?

给定特定规则,如何将字符串中的特定字母大写

为字符串 PHP 制定特定规则

如何在 Makefile 中修改构建规则

如何通过特定规则在MATLAB中重新排列数组?

当日期高于Google Data Studio中的特定日期时,如何制定规则?

如何仅将父类中的特定规则扩展到子类,而不是 sass 中的所有规则?

如何在Makefile中编写循环?

如何在Makefile中编写bash脚本

为什么在Bison中为每个操作制定规则

如何在Makefile中设置目标以调用2个目标

R iGraph:如何选择满足特定规则的顶点

UFW如何记录特定规则允许的数据包?

如何将数据集与特定规则结合

如何在makefile中为内核模块构建目标设置预处理程序指令?

当应用特定规则时,在MySQL中合并结果

在 Fluent Validation C# 中检查特定规则的状态

在子文档中更新KV对以获取特定规则