加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 更改Makefile标志时如何强制重新编译?

发布时间:2020-12-16 09:57:43 所属栏目:百科 来源:网络整理
导读:我正在编译一些依赖项目,所以我不必每次都重新编译,但是当我将-Dsome_flags添加到我的CFLAGS时,它不会重新编译. dep: $(CPPS) $(CC) $(CFLAGS) $(INC) -M $(CPPS) dep 我添加到我的CFLAS -DDEBUG_FLAG,它迫使我做make clean而不是make. 解决方法 在我看来,最
我正在编译一些依赖项目,所以我不必每次都重新编译,但是当我将-Dsome_flags添加到我的CFLAGS时,它不会重新编译.

dep: $(CPPS)
    $(CC) $(CFLAGS) $(INC) -M $(CPPS) > dep

我添加到我的CFLAS -DDEBUG_FLAG,它迫使我做make clean而不是make.

解决方法

在我看来,最简单的方法是做一个干净的,然后做一个制作.这当然是假设您希望由于编译器标志的更改而重新编译所有源文件.但你似乎不喜欢这种方法.

如果要修改makefile,可以将makefile的名称添加到每个用于编译源文件的规则中,例如:

somefile.o : somefile.cpp <makefile_name>
            $(CC) -c $(CFLAGS) somefile.cpp -o somefile.o

要么

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

鉴于项目的规模,涉及的规则数量,做一个清洁; make可能是最简单,最快捷的方法.但是,和往常一样,你的里程数各不相同.

只需0.02美元,希望有所帮助T.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读