注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Tsecer的回音岛

Tsecer的博客

 
 
 

日志

 
 

增加make强制输出功能  

2010-09-17 23:00:31|  分类: make源代码分析 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

问题引入:

1、linux2.6.34中执行make的时候没有显式所有指定的命令,这对查看linux内核编译时执行的命令很不方便。

2、有些工程模块模块中在make脚本中执行命令的时候在前面加了无条件不回显的@命令。

修改make源代码:

一、在make.h中添加变量声明

extern int  always_print_flag;

二、在main.c中定义变量

/*If nonzero,always print the commands executed,regardless of whether
the @ present in command script.
*/
int always_print_flag = 0;

三、添加选项

static const struct command_switch switches[] =
    { 'g', flag, (char *) &always_print_flag, 0, 0, 0, 0, 0, "always-print" }
四、添加使用时说明

static const char *const usage[] =

    N_("\
  -g, --always-print           Unconditionally print all commands.\n"),

五、添加显示方法

job.c:start_job_command (child)

  message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag) || always_print_flag)
    ? "%s" : (char *) 0, p);

六、最后一点,也是最重要一点

要在命令执行过程中加上 -g 选项。


 

  评论这张
 
阅读(342)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017