【发布时间】:2018-01-08 12:24:39
【问题描述】:
我的项目中有多个文件使用-fPIC 或不使用此选项编译为目标文件。当编译这些文件以在共享库中使用时,此选项是必需的,否则不是。因此,当我将项目编译为共享库时,此选项是必需的。
尽管如此,我永远不确定最后一次编译是否已在共享库中完成。如果没有,我想把它编译到共享库中,编译失败,我必须删除生成的目标文件。重新编译这些目标文件需要很长时间,我想避免这种情况。
有没有办法让makefile在开始时检测目标文件是否在开始时使用或不使用此选项进行编译,以便编译可以继续,或者两者都必须重新编译,而不会产生错误或花费很多不必要的重新编译循环中的时间?
【问题讨论】:
-
@KarstenKoop:我怎样才能包含 f.ex。我的 makefile 中的第一个答案?
-
是什么导致
-fPIC在构建之间出现/消失?通常这将是您在 Makefile 本身中更改的内容,从而触发完全重建。 -
我通常用来区分使用某些选项构建的文件的方法是使构建输出文件夹的名称取决于这些选项。例如
build_fPIC和build_no_fPIC。 -
对于发布与调试构建等类似。