⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile入门.htm

📁 MAKEFILE 的一些入门常识
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0050)http://kexinspace.myrice.com/unix/programe/up7.htm -->
<HTML><HEAD><TITLE>Makefile入门</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY>
<P align=center><FONT color=#ff0000 size=5>Makefile入门</FONT></P>
<DIV align=center>
<CENTER>
<TABLE borderColor=#ff00ff height=238 width="85%" border=1>
  <TBODY>
  <TR>
    <TD vAlign=top width="100%" height=232><FONT color=#008000 
      size=3>如何使用make? <BR><BR>在shell的提示符号下,若键入"make",则它会到目前的目录下找寻Makefile这个档案 
      <BR>。然後依照Makefile中所记录的步骤一步一步的来执行。在我们写程式的时候,如果 
      <BR>事先就把compiler程式所需要的步骤先写在Makefile中的话,想要compiler程式的时候 
      <BR>就只要打入make的指令。只要程式无误的话,就可以获得所需要的结果了! <BR><BR><BR><BR><BR>Makefile的格式: 
      <BR><BR>(1)注解: <BR>在Makefile中,任何以"#"为开头的的文字皆为注解,make在解译Makefile的 
      <BR>时候会忽略它。 <BR><BR>(2)续接下行: <BR>在Makefile中,若一行不足以容纳该命令的时候。可於该行之最後加一反斜线 
      <BR>(\)表示下一行为本行之延续,两行应视为一行来处理。 <BR><BR>(3)巨集(macro) <BR>巨集的格式为: 
      &lt;string&gt; = &lt;value&gt; <BR>例如: <BR>CFLAGS = -O -systype bsd43 
      <BR><BR>其实make本身已有许多的default的macro,如果要查看这些macro的话,可以 <BR>下make -p的命令。 
      <BR><BR>(4)法则(Rules) <BR>格式如下: <BR>&lt;Target 1&gt;: &lt;depend&gt; 
      <BR>&lt;command 1&gt; <BR>&lt;command 2&gt; <BR>.... <BR><BR>&lt;Target 
      2&gt;: &lt;depend&gt; <BR>&lt;command 3&gt; <BR>&lt;command 4&gt; <BR>.... 
      <BR><BR>(5)一个非常简单的Makefile <BR>假设我们有一个程式,共分为下面的部份: <BR>menu.c 主要的程式码部份 
      <BR>menu.h menu.c的include file <BR>utils.c 提供menu.c呼叫的一些function calls 
      <BR>utils.h utils.c的include file <BR>同时本程式亦叫用了ncurses的function calls。 
      <BR>而menu.c和utils.c皆放在/usr/src/menu下。 
      <BR>但menu.h和utils.h却放在/usr/src/menu/include下。 
      <BR>而程式做完之後,执行档名为menu且要放在/usr/bin下面。 <BR><BR># This is the Makefile of 
      menu <BR>CC = gcc <BR>CFLAGS = -DDEBUG -c <BR>LIBS = -lncurses <BR>INCLUDE 
      = -I/usr/src/menu/include <BR><BR>all: clean install <BR><BR>install: menu 
      <BR>chmod 750 menu <BR>cp menu /usr/bin <BR><BR>menu: menu.o utils.o 
      <BR>$(CC) -o $@ $? $(LIBS) <BR><BR>menu.o: <BR>$(CC) $(CFLAGS) -o $@ 
      menu.c $(INCLUDE) <BR><BR>utils.o: <BR>$(CC) $(CFLAGS) -o $@ utils.c 
      $(INCLUDE) <BR><BR>clean: <BR>-rm *.o <BR>-rm *~ 
      <BR><BR><BR>在上述的Makefile中,要使用某个macro可用$(macro_name)如此的形式。make会自动 
      <BR>的加以展开。 <BR>$@为该rule的Target,而$?则为该rule的depend。 
      <BR>若在command的前面加一个"-",表示若此command发生错误则不予理会,继续执行下去。 
      <BR>上述的Makefile的关系可以表示如下: <BR>all <BR>/ \ <BR>clean install <BR>\ <BR>menu 
      <BR>/ \ <BR>menu.o utils.o <BR><BR>若只想清除source以外的档案,可以打make clean。 
      <BR>若只想做出menu.o可以打make menu.o。 <BR>若想一次全部做完,可以打make all或是make。 
      <BR>要特别注意的是command之前一定要有一个TAB(即TAB键)。 
</FONT><BR></TD></TR></TBODY></TABLE></CENTER></DIV>
<TABLE height=1 cellPadding=0 width=758 border=0>
  <TBODY>
  <TR>
    <TD width=752 height=1>
      <HR color=#ffff00>
    </TD></TR>
  <TR>
    <TD width=752 height=6>
      <P align=center><A href="http://kexinspace.myrice.com/">可心工作室制作 
      版权所有</A><BR><FONT 
  color=#0000ff>haokexin@netease.net</FONT></P></TD></TR></TBODY></TABLE></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -