设为首页 加入收藏 网站首页
休闲娱乐
军事·社会百态·娱乐八卦·校园
体育·美女写真·幽默笑话·游戏
综合·在线视频·搞笑图片·灵异
两性生活
两性知识·性爱技巧
情色实录·两性图片
女性健康·同性之恋
电脑网络
网络编程·网页制作·软件教学
操作系统·图形图象·冲浪宝典
网络安全·邮件系统·认证考试
热点专题
芙蓉·真人漫画
72式·欲望都市
帅哥·人体彩绘
您现在的位置: 世纪中国 >> 操作系统 >> Linux 教程 >> 教程正文
Linux/Unix环境下的make命令详解
作者:中国图霸    教程来源:网络    点击数:    更新时间:2007-1-3
除了支持后缀规则外还支持另一种类型的隐含规则--模式规则。这种规则更加通用,因为可以利用模式规则定义更加复杂的依赖性规则。模式规则看起来非常类似于正则规则,但在目标名称的前面多了一个 % 号,同时可用来定义目标和依赖文件之间的关系,例如下面的模式规则定义了如何将任意一个 file.c 文件转换为 file.o 文件:

  %.c:%.o
  $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
#EXAMPLE#

  下面将给出一个较为全面的示例来对makefile文件和make命令的执行进行进一步的说明,其中make命令不仅涉及到了C源文件还包括了Yacc语法。本例选自"Unix Programmer's Manual 7th Edition, Volume 2A" Page 283-284

  下面是描述文件的具体内容:

   #Description file for the Make command
   #Send to print
   P=und -3 | opr -r2
   #The source files that are needed by object files
   FILES= Makefile version.c defs main.c donamc.c misc.c file.c \
   dosys.c gram.y lex.c gcos.c
   #The definitions of object files
   OBJECTS= vesion.o main.o donamc.o misc.o file.o dosys.o gram.o
   LIBES= -LS
   LINT= lnit -p
   CFLAGS= -O
   make: $(OBJECTS)
   cc $(CFLAGS) $(OBJECTS) $(LIBES) -o make
   size make
   $(OBJECTS): defs
   gram.o: lex.c
   cleanup:
   -rm *.o gram.c
   install:
   @size make /usr/bin/make
   cp make /usr/bin/make ; rm make
   #print recently changed files
   print: $(FILES)
   pr $? | $P
   touch print
   test:
   make -dp | grep -v TIME>1zap
   /usr/bin/make -dp | grep -v TIME>2zap
   diff 1zap 2zap
   rm 1zap 2zap
   lint: dosys.c donamc.c file.c main.c misc.c version.c gram.c
   $(LINT) dosys.c donamc.c file.c main.c misc.c version.c \
   gram.c
   rm gram.c
   arch:
   ar uv /sys/source/s2/make.a $(FILES)

  通常在描述文件中应象上面一样定义要求输出将要执行的命令。在执行了make命令之后,输出结果为:
 
  $ make
  cc -c version.c
  cc -c main.c
  cc -c donamc.c
  cc -c misc.c
  cc -c file.c
  cc -c dosys.c
  yacc gram.y

上一页  [1] [2] [3] [4] [5] 下一页

分类推荐
社会 社会 娱乐 军事 校园
幽默 体育 女性 专题
电脑 编程 网页 软件 系统
安全 图象 冲浪 认证
搞笑 人物 动物 物品 表情
签名 色图 漫画 奇闻
美女 明星 清纯 自拍 欧美
丝袜 卡通 性感 走光
两性 知识 性图 孕育 技巧
同性 单身 情感 实录
视频 写真 搞笑 MTV 翻唱
写实 片段 游戏 综艺
Linux 教程热门文章
普通教程 Linux下Makefile的automake生成
普通教程 Linux/Unix环境下的make命令详
普通教程 Linux系统中网络配置详解
普通教程 在Linux桌面环境下运行Photosh
普通教程 Linux操作系统内核和设备文件对
普通教程 网卡设置指南
普通教程 开源桌面竞争烈 30分钟自己做L
普通教程 将Linux代码移植到Windows的简
普通教程 Linux下Makefile的automake生成
普通教程 Linux操作系统定时任务系统Cro
普通教程 Linux下防范缓冲区溢出攻击安全
普通教程 自已动手制作Linux下拼音五笔输
普通教程 删除Linux后如何找回Windows启
普通教程 Linux服务器前台常出现的提示及
普通教程 Linux应用软件谈之远程桌面控制
普通教程 Linux操作系统笔记本电池使用技
普通教程 口袋里的Linux:在您的U盘上运
普通教程 LINUX动态链接库高级应用
普通教程 如何才能让MySQL与OpenOffice共
普通教程 Linux系统中提取DVD音频的方法

  广东广州海珠区 世纪网络工作室 版权所有 上海电信提供网络带宽
信箱: 9297659@qq.com 粤ICP备06113754号