代码之家  ›  专栏  ›  技术社区  ›  Carl Norum

具有gnumake和前提条件的并行建筑

  •  10
  • Carl Norum  · 技术社区  · 15 年前

    我的第一个问题(耶!)是关于gnumake和并行构建的。下面是一个简单的示例文件:

    .PHONY: tool_1 tool_2 tool_3 tool_4 all tools
    
    all: | tools
    
    tools: | tool_2 tool_3 tool_4
    
    tool_1:
        # commands for tool 1
    
    tool_2: | tool_1
        # commands for tool 2
    
    tool_3: | tool_1
        # commands for tool 3
    
    tool_4: | tool_1
        # commands for tool 4
    

    如果我这样做 make -j 在这家伙身上,是我这里正确的,以确保命令 tool_1 只执行一次 make 尝试建立 tool_[234] 是吗?

    我要找的是 品牌-J 原因 工具1 先建,然后 工具[234 ] 并行构建,但不执行 工具1 三次。我希望这是有道理的。感谢您的建议或想法!

    1 回复  |  直到 15 年前
        1
  •  8
  •   Alex Brown    15 年前

    make -j 在你的问题中表现得和你期望的完全一样。它不会多次产生依赖关系。

    那是什么烟斗( | )你的依赖关系列表中的角色有吗?