在构建 .so 后删除 .cc,不受控制

2024-06-30

最近我遇到了一个非常奇怪的行为Makefile:

在当前目录中,我有hello.pyx:

#cython: language_level=3

print("Hello, world!")

and in .. I have Makefile:

includes=$(shell python3 -c "import sysconfig; print(sysconfig.get_path('include'))")
CFLAGS=-shared -pthread -fPIC -fwrapv -Oz -flto -Wall -fno-strict-aliasing -I$(includes)
LDFLAGS=-Wl,-plugin-opt=O2

%.cc: %.pyx
        cython --cplus $< -o $@

%.so: %.cc
        clang++ ${CFLAGS} ${LDFLAGS} $< -o $@

clean:
        rm -f *.cc *.so

.PHONY: clean

当我建造时hello.so在当前目录中使用make -f ../Makefile hello.so,它删除.cc建造后.so:

cython --cplus hello.pyx -o hello.cc
clang++ -shared -pthread -fPIC -fwrapv -Oz -flto -Wall -fno-strict-aliasing -I/usr/include/python3.7m -Wl,-plugin-opt=O2 hello.cc -o hello.so
rm hello.cc

我尝试删除目标.PHONY and clean,但这没有帮助。

我怎样才能停下来make from rm hello.cc?


该文件被认为是中间文件 https://www.gnu.org/software/make/manual/html_node/Chained-Rules.html。为了防止它被删除,您所要做的就是在 makefile 中的任何位置将其作为目标或先决条件提及,如下所示:

sources: $(patsubst %.so,%.cc,$(MAKECMDGOALS))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在构建 .so 后删除 .cc,不受控制 的相关文章

随机推荐

  • Java 8 元空间垃圾收集

    我正在运行的 java 进程在运行的第一个小时左右始终表现良好 然而 性能会迅速下降 在分析时 我发现元空间垃圾收集相当频繁地发生 直到小时标记 然后失去控制 我相当确定我能够使用 XX MaxMetaspaceSize 选项来解决此问题
  • 处理可选依赖项 (C#)

    我们有一个可以选择与 TFS 集成的应用程序 但是由于集成是可选的 所以我显然不希望所有机器都需要 TFS 程序集作为要求 我应该怎么办 我是否可以在主程序集中引用 TFS 库 并确保在使用 TFS 集成时仅引用 TFS 相关对象 或者 更
  • 将 id 传递给 calloutAccessoryControlTapped

    当点击附件按钮时 我需要传递 itemId 这样我就可以识别要传递到详细视图的项目 So far 添加注释 for id row in self detailItem Item i Item row CLLocationCoordinate
  • 定义 WCF XML 响应架构

    我构建了一个 WCF Rest 服务来为另一个进程提供数据 假设他的名字是 GetData 这个提供了具有以下结构的 xml 响应
  • 如何在不丢失 Git 中上次提交的情况下返回到上一个提交?

    这就是我想做的 我想回到之前的 2 个提交 也许将该提交中更改的文件作为新的提交返回 但我不想失去最后一次提交 我上次提交的代码中有一些错误 但我想暂时保留该错误 我读过一些文档 但没有一个文档清楚地说明了当你重置头部时会发生什么 例如 您
  • 在 ubuntu 12.04 上安装 ReviewBoard

    我正在尝试使用 easy install 在 ubuntu 12 04 上安装 ReviewBoard http www reviewboard org docs manual 1 7 admin installation linux ht
  • PySpark:根据与另一列中的字符串匹配的字典值创建新列

    我有一个数据框 A 如下所示 ID SOME CODE TITLE 1 024df3 Large garden in New York New York 2 0ffw34 Small house in dark Detroit Michig
  • 如何检测 Delphi IDE 中的模块窗口何时打开?

    我正在编写一个 Delphi 插件 我需要检测模块 查看 调试窗口 模块 窗口何时打开 附加到 IDE 编辑器 我使用 IOTAEditorNotifier 在新的编辑器窗口打开时收到通知 但仅适用于源文件 这是用于从 IDE 编辑器接收通
  • html 标题的最大长度

    有谁知道我可以为 html title 属性输入的最大长度是多少以及是否允许使用特殊字符 根据当前的 HTML 4 和 5 规范 标题长度没有限制 但 IE 浏览器有 512 个字符的限制HTML 4 01 http msdn micros
  • 防止拖动游戏窗口时执行暂停

    我有一个服务器和一个客户端 但是 当我开始移动游戏窗口时 它会停止执行代码 直到窗口停止移动 从而导致连接超时 因为服务器或客户端停止响应一段时间 我需要做什么才能使游戏始终运行代码 即使游戏窗口正在移动 这是 XNA 游戏的一个已知问题
  • 如何使用 Keras 在 TensorBoard 中显示自定义图像?

    我正在 Keras 中研究分割问题 我想在每个训练周期结束时显示分割结果 我想要类似的东西Tensorflow 如何在 Tensorboard 中显示自定义图像 例如 Matplotlib 图 https stackoverflow com
  • 部署管理器更新错误:预览中的部署不得具有带有 UPDATE 的目标

    每次我尝试通过部署管理器对预览中的现有部署运行更新时 都会收到错误 gcloud deployment manager deployments update abc config abc yaml ERROR gcloud deployme
  • 无符号长十六进制表示

    include
  • 如何在UWP应用程序中获取Windows 10设备ID?

    我正在开发一个在公司本地网络中运行的 Windows 10 UWP 客户端应用程序 应用程序需要知道 Windows 10 设备 ID 才能识别安装它的每台电脑 您可以在 设置 关于 页面中查看 Windows 10 设备 ID 的值 我尝
  • Google-GSON 的 Spring MVC 映射视图?

    有谁知道是否有 Spring MVC 映射视图Gson http code google com p google gson 我正在寻找类似的东西org springframework web servlet view json Mappi
  • .txt 文件大小有上限吗?

    作为圣诞礼物 我用 Java 编写了一个计算素数的小程序 我的目的是让它整夜打开 计算下一个素数并将其写入 txt 文件 早上我会终止该程序并将 txt 文件带给我的朋友作为圣诞节礼物 有什么我应该担心的吗 请记住 与您交谈的是真正的初学者
  • 将 Pandas DataFrame 和元数据保存为 JSON 格式

    我需要将 Pandas DataFrame 以及一些元数据保存到 JSON 格式的文件中 JSON 格式是必需的 背景 A 我可以使用 JSON 成功地读取 写入相当大的 Pandas DataframeDataFrame to json
  • 友好 ID 自定义 Slug

    我有一个邮政模型 post rb extend FriendlyId friendly id slug candidates use slugged history 我正在尝试像这样自定义每个帖子的网址 post rb def slug c
  • 如何在 AngularJS 中存储当前用户上下文?

    我有一个 AuthService 它登录用户 它返回一个用户 json 对象 我想要做的是设置该对象并让所有更改反映在应用程序中 登录 注销状态 而无需刷新页面 我如何使用 AngularJS 来完成这个任务 实现此目的最简单的方法是使用服
  • 在构建 .so 后删除 .cc,不受控制

    最近我遇到了一个非常奇怪的行为Makefile 在当前目录中 我有hello pyx cython language level 3 print Hello world and in I have Makefile includes she