makefile 并行运行目标

2024-03-21

我有以下 makefile,有两条规则。

有没有办法并行运行这两个规则,我的意思是最大化 核心能力?我看到这个section https://www.gnu.org/software/make/manual/make.html#Parallel但不确定我是否知道如何使用它来达到我的目的,因为我想在 makefile 中处理它而不是从命令行。

IE。并行运行 module1 和 2 目标。

这是生成文件:

all: module1 module2

.PHONY: module1
module1:
    @echo "run module 1"
    DIR=$(PWD)
    @echo $(DIR)

.PHONY: module2
module2:
    @echo "run module2”

cleanup: 
    fzr clean $(DIR)

您可以设置make通常通过 makefile 本身中的命令行调用传递给 make 的选项。将此行添加到您的 makefile 中

MAKEFLAGS += -j2

你可以调用make没有-j标志,当它们彼此不依赖时,它仍然会生成两个进程来并行构建目标。要自动确定要生成的作业数量,您可以在 Linux 上使用它

NPROCS = $(shell grep -c 'processor' /proc/cpuinfo)
MAKEFLAGS += -j$(NPROCS)

在 MacOS 上

NPROCS = $(shell sysctl hw.ncpu  | grep -o '[0-9]\+')
MAKEFLAGS += -j$(NPROCS)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

makefile 并行运行目标 的相关文章

随机推荐

  • 如何使用 ComPtr 中包装的 Direct3D 11 指针来获取 11.1 接口?

    我正在遵循教程 并将通常的初始化转换为使用 ComPtrs 直到这一行 ID3D11Device g pd3dDevice nullptr ID3D11Device1 g pd3dDevice1 nullptr Obtain the Dir
  • TriangleMesh JavaFX 中 getNormals() 方法的用途是什么

    我目前正在开发 JavaFX 3D 应用程序 并在 TriangleMesh 类中遇到 getNormals 方法 正如 Triangle Mesh 类用于创建用户定义的 Java FX 3D 对象一样 其中getPoints 用于添加Po
  • Python:subprocess.Popen() 的第一个实例非常慢

    我确信我错过了一些简单的东西 但是当使用子进程模块时 启动第一个子进程需要等待一段非常长的时间 gt 10 秒 第二个在第一个之后不久开始 有没有什么办法解决这一问题 代码如下 编辑 要添加 HWAccess 在 proc py 中 链接一
  • 如何将音频文件录制为 .m4a 格式?

    如何将音频文件录制为 m4a 格式 我正在使用下面的代码 public void startRecording throws IOException recorder new MediaRecorder path sdcard pithys
  • PyCharm:Scapy 未解决的参考

    我正在开发一个使用 scapy 用 python 编写的网络工具 我使用 Pycharm 作为 IDE 我的代码有效 因此 如果我运行它 一切都会按预期进行 我的问题是 PyCharm 给了我一些错误 它标志着每次使用IP TCP Ethe
  • 将 scanf 与 x86-64 GAS 组件结合使用

    我在尝试调用系统函数 scanf 以在我的 x86 汇编程序中工作时遇到了很多问题 目前我已经让它从标准中读取 但是它只会读取没有段错误的字符 我不知道为什么 指定字符串是 d 我在网上看到的 x86 中的 scanf 示例使用 quark
  • Git 忽略文件,而不删除它

    我有一个使用 GIT 进行版本控制的网站 我设置了一个系统 基本上可以自动部署我的更改master分支到我的生产服务器 也就是说 我的存储库中有一个 Web 挂钩 它会触发一个 PHP 脚本 该脚本本质上会启动一个git pull在服务器上
  • WatiN 搜索 google 后找不到文字

    我正在尝试运行一个简单的等待示例 搜索谷歌然后验证搜索结果 在 IE9 上 var browser new IE http www google com ncr browser TextField Find ByName q TypeTex
  • 从用于计算三角形和外接圆的 Swingworker 中重新绘制小程序

    我正在尝试复制找到的小程序here http www diku dk hjemmesider studerende duff Fortune 作为练习的一部分 该小程序使用 财富 的算法来生成两者 Voronoi 图和 Delaunay 三
  • 大背景图像和屏幕尺寸

    我正在创建一个网站 该网站将使用无法平铺的图像 我需要这张图像覆盖整个背景屏幕 但是 我希望它能够在大型显示器和小型显示器上运行 我应该制作一张大背景图像并使用它缩小它吗background size或者我应该创建不同尺寸的同一图像的多个版
  • 当定义需要 import 语句时,如何扩展现有接口?

    我创建了一个自定义 Knockout 扩展器 但在扩展 Knockout 定义文件提供的现有接口时遇到了问题 扩展器 Numeric ts import as ko from knockout function Extender targe
  • 关于如何以编程方式从 json 文件开始创建自定义 org.apache.spark.sql.types.StructType 架构对象

    我必须使用 json 文件中的信息创建一个自定义 org apache spark sql types StructType 架构对象 json 文件可以是任何内容 所以我在属性文件中对其进行了参数化 属性文件如下所示 ruta al es
  • 来自 Bitbucket 的“Go Get”私人仓库

    所以基本上 我有一个 Openshift 项目 在 Git 推送上 使用 Go get 下载所有库并即时构建项目 因此 我有一些代码不希望人们从我自己的库中看到 为了正确编译 代码需要从 github com 或另一个存储库获取 所以我创建
  • Ant 不可变属性到可变属性

    我有个问题 我正在使用 maven 的 antrun 插件 然后执行下一步 我有文件夹和子文件夹 我不知道什么叫子文件夹及其编号 我用它们的名称对此子文件夹进行存档 子文件夹名称 1 存档名称 1 acp
  • 我应该声明并检查 PHP 中是否存在变量吗?

    我注意到 XAMPP 上启用了严格的错误报告 并且现在出现未定义的索引错误 我只有两个小问题 我还在学习 我知道你不知道have在 PHP 中声明变量 但是声明它们有什么好处吗 如果不是 为什么在我未定义错误的情况下启用严格错误报告时会出现
  • 从字符串生成正则表达式

    我希望从包含数字的字符串生成正则表达式 然后使用它作为模式来搜索相似的字符串 例子 String s Page 3 of 23 如果我将所有数字替换为 d StringBuilder sb new StringBuilder for int
  • 在 JavaScript 中移动鼠标指针

    是否可以使用 JavaScript 移动鼠标 使其位于文本输入内 我不知道如何移动实际渲染的鼠标指针 但是您可以将焦点设置在元素上吗 document getElementById the text input id focus
  • ColdFusion 站点应使用哪种计算机辅助翻译格式?

    我正在创建一个多语言网站 需要支持至少五种不同的语言 包括韩语和中文 站点语言是 ColdFusion 因此 Java 是本地语言 我想让网站尽可能容易地供下一个程序员更新 并让第三方翻译人员使用比挖掘 SQL 数据库更容易的工具 到目前为
  • Node.js 找不到模块 - 干扰 Windows 上的 cygwin

    我正在测试 Bootstrap 框架 来自 Twitter 并尝试在安装 Node js 后在本地构建它 它失败了 因为它找不到 less 模块 我也使用 npm install g less 安装了该模块 C Users geir cod
  • makefile 并行运行目标

    我有以下 makefile 有两条规则 有没有办法并行运行这两个规则 我的意思是最大化 核心能力 我看到这个section https www gnu org software make manual make html Parallel但