You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用make命令查看Makefile中指定任务的内容?

问题

现有如下Makefile文件(原文文件名拼写为Makedile):

$ cat Makedile
job1:
    echo 33
    echo 22
    echo 11

job2:
    echo Hello

需要一条make相关命令,通过任务名称(比如job1)查看该任务对应的完整定义内容,期望输出如下:

$ make xxx job1
job1:
    echo 33
    echo 22
    echo 11
$
解决方案

可以结合make -p参数和awk命令来精准提取目标任务的定义:

make -p | awk '/^job1:$/ {flag=1; print; next} flag && /^\t/ {print; next} flag {exit}'

说明

  • make -p:输出Makefile中所有规则、变量的完整信息
  • awk逻辑:
    • 匹配到job1:开头的行时,开启标记并打印该行
    • 标记开启状态下,打印所有以制表符开头的命令行(Makefile命令行要求以制表符开头)
    • 遇到非制表符开头的行时退出,避免输出无关内容

要查看其他任务,只需把命令里的job1换成对应任务名即可。

内容的提问来源于stack exchange,提问作者user3313834

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 03:32:41