📄 make使用中文介绍.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>LinuxAid 技术支持中心</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><link rel="stylesheet" href="/primary.css"><script language="JavaScript" type="text/javascript">function mOvr(src,id){if (!src.contains(event.fromElement)){document.all.menu.rows(0).cells(id).bgColor = '#103667';}}function mOut(src,id){if (!src.contains(event.toElement)){document.all.menu.rows(0).cells(id).bgColor = '#205AA7';}}</script><script language="JavaScript" src="/articles/checkrem.js" type="text/javascript"></script></head><body><center><table width="760" border="0" cellspacing="0" cellpadding="0"><tr><td width="1%"><img src="/images/aidlogo.gif" width="220" height="60" alt="Aid Logo"></td><td align="right"><a href="http://net.longshine.com" target="_blank"><img src="/images/netbanner.gif" width="468" height="60" alt="Ad Banner" border="0"></a></td></tr><tr><td colspan="2" height="10"></td></tr></table><table width="760" border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2" height="2" bgcolor="#7388C1"></td></tr><tr><td bgcolor="#205AA7"> <font color="#FFFFFF">欢迎光临 LinuxAid</font></td><td align="right" bgcolor="#205AA7"><table width="480" border="0" cellspacing="0" cellpadding="2" id="menu" bgcolor="#205AA7"><tr align="center"><td id=menuid01 onMouseOut="mOut(this,'menuid01');" onMouseOver="mOvr(this,'menuid01');" nowrap><a href="/"><font color="#FFFFFF">网站首页</font></a></td><td id=menuid02 onMouseOut="mOut(this,'menuid02');" onMouseOver="mOvr(this,'menuid02');" nowrap><a href="/infos"><font color="#FFFFFF">业界资讯</font></a></td><td id=menuid03 onMouseOut="mOut(this,'menuid03');" onMouseOver="mOvr(this,'menuid03');" nowrap><a href="/articles"><font color="#FFFFFF">文档中心</font></a></td><td id=menuid04 onMouseOut="mOut(this,'menuid04');" onMouseOver="mOvr(this,'menuid04');" nowrap><a href="/tips"><font color="#FFFFFF">技巧提示</font></a></td><td id=menuid05 onMouseOut="mOut(this,'menuid05');" onMouseOver="mOvr(this,'menuid05');" nowrap><a href="/forum/"><font color="#FFFFFF">技术论坛</font></a></td><td id=menuid06 onMouseOut="mOut(this,'menuid06');" onMouseOver="mOvr(this,'menuid06');" nowrap><a href="/netshine" target="_blank"><font color="#FFFFFF">朗新产品专栏</font></a></td><td id=menuid07 onMouseOut="mOut(this,'menuid07');" onMouseOver="mOvr(this,'menuid07');" nowrap><a href="/aboutus"><font color="#FFFFFF">关于我们</font></a></td></tr></table></td></tr><tr><td colspan="2" height="2" bgcolor="#103667"></td></tr></table><!----><table width="760" border="0" cellspacing="0" cellpadding="0"><tr><td height="2"></td></tr><tr><td class="sitenavblk">您的位置:<a href="/">首页</a> > <a href="/articles">文档中心</a> > 文档正文</td></tr><tr><td height="2"></td></tr></table><!----><table width="760" border="0" cellspacing="0" cellpadding="0"><tr><td width="150" valign="top" class="middleblk"><!----><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td height="2" class="brightblk"></td></tr><tr><td height="20" class="blackblk" align="center"><font color="#FFFFFF">==>栏目导航<==</font></td></tr><tr><td><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td valign="top" class="middleblk"><table width="100%" border="0" cellspacing="2" cellpadding="0"><tr><td width="50%" style="font-size: 12px; line-height:24px" valign="top" align="center"><a href="/articles/postfile.jsp"><img src="/images/submitinfo.gif" width="32" height="32" border="0" alt="提供文档"><br><font color="#FFFFFF">提供文档</font></a><br><a href="/articles/history.jsp"><img src="/images/updatehistory.gif" width="32" height="32" border="0" alt="更新历史"><br><font color="#FFFFFF">更新历史</font></a><br><a href="/articles/rootlist.jsp"><img src="/images/contentlist.gif" width="32" height="32" border="0" alt="分类列表"><br><font color="#FFFFFF">分类列表</font></a><br></td><td width="50%" valign="top"><table width="100%" border="0" cellspacing="2" cellpadding="0"><tr><td><a href="/articles/sublist.jsp?id=246651309"><font color="#FFFFFF">开源文化</font></a></td></tr><tr><td><a href="/articles/sublist.jsp?id=734779190"><font color="#FFFFFF">初学入门</font></a></td></tr><tr><td><a href="/articles/sublist.jsp?id=289460403"><font color="#FFFFFF">系统/网络管理</font></a></td></tr><tr><td><a href="/articles/sublist.jsp?id=720397189"><font color="#FFFFFF">应用软件</font></a></td></tr><tr><td><a href="/articles/sublist.jsp?id=344428688"><font color="#FFFFFF">数据库应用</font></a></td></tr><tr><td><a href="/articles/sublist.jsp?id=619336954"><font color="#FFFFFF">网站开发</font></a></td></tr><tr><td><a href="/articles/sublist.jsp?id=994794057"><font color="#FFFFFF">系统开发</font></a></td></tr><tr><td><a href="/articles/sublist.jsp?id=687654788"><font color="#FFFFFF">解决方案</font></a></td></tr></table></td></tr></table></td></tr></table></td></tr></table><!----><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td height="20" class="blackblk" align="center"><font color="#FFFFFF">==>热辣文档<==</font></td></tr><tr><td class="middleblk"><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td valign="top" width="6">·</td><td><a href="/articles/7/0/706710723.shtml" target="_blank"><font color="#FFFFFF">Qmail邮件系统下防止滥用mail relay完全解决方案</font></a></td></tr><tr><td valign="top" width="6">·</td><td><a href="/articles/7/2/720988345.shtml" target="_blank"><font color="#FFFFFF">iptables应用之动态DNS</font></a></td></tr><tr><td valign="top" width="6">·</td><td><a href="/articles/5/0/507500984.shtml" target="_blank"><font color="#FFFFFF">Linux环境下基于策略的路由</font></a></td></tr><tr><td valign="top" width="6">·</td><td><a href="/articles/5/2/527306119.shtml" target="_blank"><font color="#FFFFFF">用webalizer分析web日志</font></a></td></tr><tr><td valign="top" width="6">·</td><td><a href="/articles/2/5/258856554.shtml" target="_blank"><font color="#FFFFFF">邮件系统postfix安装与配置(一)</font></a></td></tr><tr><td valign="top" width="6">·</td><td><a href="/articles/1/2/121597210.shtml" target="_blank"><font color="#FFFFFF">在postfix中实现基于cyrus-sasl的SMTP认证</font></a></td></tr><tr><td valign="top" width="6">·</td><td><a href="/articles/9/9/99268972.shtml" target="_blank"><font color="#FFFFFF">简易防火墙建置与流量统计</font></a></td></tr><tr><td valign="top" width="6">·</td><td><a href="/articles/2/5/256984665.shtml" target="_blank"><font color="#FFFFFF">Linux与硬盘分区</font></a></td></tr><tr><td valign="top" width="6">·</td><td><a href="/articles/6/2/627801482.shtml" target="_blank"><font color="#FFFFFF">ISO软件工程模板(4)需求说明书</font></a></td></tr><tr><td valign="top" width="6">·</td><td><a href="/articles/5/1/515140392.shtml" target="_blank"><font color="#FFFFFF">Linux简明系统维护手册</font></a></td></tr></table></td></tr></table><!----></td><td width="608" valign="top" align="right"><img src="/images/smallline.gif" height="2" width="600" border="0" alt="smallline"><table width="605" border="0" cellspacing="1" cellpadding="0" class="blackblk"><tr><td><table width="100%" border="0" cellspacing="0" cellpadding="8" class="brightblk"><tr><td><span class="titleblk">无限使用make</span><br><BLOCKQUOTE class="sumblk"><strong>摘要</strong><BR><p> 文章除介绍make工具是如何运行的以外,还涉及到make工具除了具有软件开发作用外的许多别的用途。</p>(2002-09-02 13:07:28)</BLOCKQUOTE><hr size="4" noshade width="98%"><strong>By <a href="mailto:wing@linuxaid.com.cn">Wing</a></strong>, 出处:<a href=linuxaid.com.cn>蓝风</a><br><br><span class="contentblk"><p><b> 摘要</b></p>
<p> 文章除介绍make工具是如何运行的以外,还涉及到make工具除了具有软件开发作用外的许多别的用途。</p>
<p><b> 介绍</b></p>
<p> 几乎每个使用Linux的用户都会使用到make工具。当然我们也知道只有在程序和内核建立于源代码的基础上及软件包安装完成后,make工具才能运行。Make对于软件开发是一个非常重要的操作工具。然而,make还能做更多你先前没有注意过的事。 </p>
<p> 你所将要了解的是,make工具将成为你以后处理日常工作如写文章、著书或建立一个Web站点的一个非常有效的工具。你会学到许多‘unix窍门’,它会让你在以后的工作中更熟练的操作make工具。要注意的是:在此我们谈及的虽然只是Linux,但原则上我们可以在任何操作系统中使用make工具。</p>
<p><b> 示例: 建立一个Web站点</b></p>
<p> 一个Web站点必须由许多分工不同的人共同维护。Jan负责两个栏目,Piet负责布局。</p>
<p> 我们需要一个简单的系统去区分布局和内容,一个有效的措施是:从数据库中读取内容,这对于页面是必须的。例如,PHP和Microsoft Active Server Pages 就可以实现这个功能。然而,我们仅可能储存静态的HTML(HyperText Markup Language)。而且,内容不会改变以便有效的维护数据库。</p>
<p><b> 通过简单的命令建立Web站点:</b></p>
<p><b> ◆ 布局设计</b></p>
<p> Jan的文章都保存在他的根目录:offer.htem和indew.html中。而所有文件都保存在目录/hone/jan/Docs/webbsite/中。</p>
<p> index.html包括一些新闻和一个欢迎辞。offer.html提供每周的what-do-I-know potatos 的照片。Piet负责布局设计和建立web站点。最后,页面在根目录/home/piet/public-html中公布。</p>
<p><b> ◆ 模板</b></p>
<p> Piet要求Jan在HTML中写他的页面,这需要一个与之相配的布局。</p>
<p> 例如,Piet将站点的header文件放于header.html中,将footer文件放在footer.html中。header.html如下:</p>
<table border='1' cellspacing='0' cellpadding='5' width='100%' bgcolor='#CCCCCC'><tr><td><pre><code>
〈html>〈!--the header--〉
〈head>
<title>Piet and Jan productions</title>
</head>
<body bgcolor="white">
<table border="0" width="100%"><tr>
<td bgcolor="#c040ff" valign="top">
This is our website<br>
Some rubbish is written down here.<br>
We are very interactive<br>
so this is our telephone number:<br>
0123-456789
</td><td valign="top">
<!-- Put the contents here -->
footer.html设置如下:
<!-- the footer -->
</td></tr></table>
</body></html>
</code></pre></td></tr></table>
<p> 再如,下面unix系统命令从Jan的index.html中建立:</p>
<table border='1' cellspacing='0' cellpadding='5' width='100%' bgcolor='#CCCCCC'><tr><td><pre><code>
cat header.html /home/jan/Docs/website/index.html
echo -n '
-----------------------------------------------------------
Last modification: '
date '+%A %e %B'
cat footer.html
</code></pre></td></tr></table>
<p> 请查阅命令使用手册。执行完以上命令的结果是最终的文件将被输送到标准输出端中,被放置于一个文件里。</p>
<table border='1' cellspacing='0' cellpadding='5' width='100%' bgcolor='#CCCCCC'><tr><td><pre><code>
{
cat header.html /home/jan/Docs/website/index.html
echo -n '
-------------------------------------------------------------
Last modification: '
date '+%A %e %B'
cat footer.html
} > /home/piet/public_html/index.html
</code></pre></td></tr></table>
<p> 这个程序将和其他的文件一起被再三重用,offer.html。事实上,我们生成了一个小小的脚本使web站点得以建立。</p>
<p> 然而,用人工操作这些命令是不实际的。我们可以设立一个脚本程序,这样当Jan更新他的指数的时候脚本会自动发挥作用。而且,当Piet想更改header文件或footer文件的时候这个脚本同样可以发挥作用!另一方面,假如Jan 不做修改,那么这个脚本不会发挥作用。</p>
<p> 第一次亲密接触make</p>
<p> GNUD的make工具的信息手册是一个让人费解的文献。从一开始它就着重于一个程序环境,出于这个原因,我将简要的说明一下make工具的功能:</p>
<p> make确定一组命令是否需要执行,是依赖于源文件的创建时间和目标文件的创建时间的对比。</p>
<p> 换句话说就是当源文件比目标文件新的话,这一组命令将被执行。目的是更新该目标文件。</p>
<p> 目标文件是对象,源文件是先决条件(第一命令)。如果先决条件之一比目标文件要新(或着目标不存在)那么命令将被执行。而如果所有的先决条件都比目标要旧或着和目标一样旧,那么命令不被执行,目标将被更新。</p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -