文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院操作系统 Linux一套的实用完整Makefile参考模板
精品推荐
特别推荐
·高效使用Linux的七个好习惯
·为何Linux比Windows更安全?
·Linux和Unix最常用的网络命令
·Linux系统下安全防护十大招数
·Linux各种服务器的架设
·Linux操作系统下用单网卡捆绑双IP
·恢复被误删除的Linux文件
·在Linux服务器上做备份和恢复
·Linux中网络参数的意义及其应用
·linux知识大全
·解析Linux服务器远程控制技术
·新手关于Linux系统的一些错误认识
·Linux系统至少有五大点比Vista更好
·Linux攻略 关于Apache安装、配置、优化
·详细讲解Linux操作系统的进程管理的功能
·解决Linux和Windows双系统的引导问题
·新手学堂:Linux操作系统安全性能检查笔记
·600个优秀网站
·提高Linux操作系统网速的方法
·Linux系统下挂载硬盘光驱和U盘的方法
热点TOP10
·网络组建大全(包括企业网、校园网、网吧和基础知识)
·Linux常用命令详解
·Linux各种服务器的架设
·linux知识大全
·Linux文件和目录访问权限设置
·LINUX 常见问题1000个详细解答
·Linux学习手册
·Red Hat Linux 安装BroadCom网卡驱动
·如何查看Linux下系统占用的资源(top、free、uptime)
·用.iso文件从硬盘安装redhat linux 7.3
·为Canon PIXMA iP1000喷墨打印机安装驱动程序
·RedHat linux 8.0下内核编译步骤和说明
·Linux系统下挂载硬盘光驱和U盘的方法
·RedHat Linux 9升级内核
·Slax本土化:移动硬盘上的Linux中文套件
·详细讲解Linux操作系统的进程管理的功能
·linux下通过脚本实现自动重启程序
·在Linux服务器上做备份和恢复
·Linux Apache Web 服务器终极教程
·正宗888葫芦 博彩游戏

一套的实用完整Makefile参考模板

日期:2007年4月8日 作者: 查看:[大字体 中字体 小字体]



  近来,经常看到有人询问makefile的写法,这里根据本人经验给出一个应用系统的完整例子,便于各位参考。
  
  应用系统的目录结构如下:
  代码:
  
  ~/bin  可执行程序目录
  ~/etc  配置文件目录
  ~/inc  头文件目录
  ~/lib  函数库文件目录
  ~/log  日志文件目录
  ~/src  源程序文件目录
  ~/src/lib  函数库源程序目录
  ~/src/lib/LIB_1  函数库libLIB_1源程序目录
  ~/src/APP_A  子系统APP_A源程序目录
  ~/src/APP_A/mod_a  子系统APP_A模块mod_a源程序目录
  ~/.profile
  ~/makefile
  
  
  ~/makefile文件内容如下:
  代码:
  
  all:
  @MakeSubDir() { for DIR in `lsgrep 'lib';lsgrep -v 'lib'`; do if [ -d ${DIR} ]; then cd ${DIR}; MakeSubDir; if [ -f makefile -o -f Makefile ]; then echo ""; pwd; make all; fi; cd ..; fi; done; }; MakeSubDir
  
  tar:
  @tar -cf `date +%Y%m%d-%H%M%S`.tar .profile `lsgrep -v '.tar'`
  
  
  ~/src/lib/LIB_1/makefile文件内容如下:
  代码:
  
  ALL:  INFO all
  
  BASEDIR  = $(HOME)
  INC  = $(BASEDIR)/inc
  LIB  = $(BASEDIR)/lib
  
  PRDNAME  = $(LIB)/libLIB_1
  
  PRODUCT  = $(PRDNAME).a $(PRDNAME).so
  
  OBJS  = LIB_1_f1.o LIB_1_f2.o
  
  AR  = ar <特定平台ar可选参数>
  CC  = cc <特定平台cc可选参数>
  
  all:  $(PRODUCT)
  
  $(PRDNAME).a:  $(OBJS)
  @echo " Making $@ ..."
  @$(AR) -r $@ $(OBJS)
  
  $(PRDNAME).so:  $(OBJS)
  @echo " Making $@ ..."
  @$(CC) -G -o $@ $(OBJS)
  
  .c.o:  *.h $(INC)/*.h
  @echo " Compiling $< ..."
  @$(CC) -c -I$(INC) $<
  
  INFO:
  @echo " make all - same with 'make' except this message"
  @echo " make clear - remove object files"
  @echo " make clean - remove all object and target files"
  @echo ""
  
  clear:  FORCE
  @rm -f *.o
  
  clean:  FORCE clear
  @rm -f $(PRODUCT)
  
  FORCE:
  
  
  ~/src/APP_A/mod_a/makefile文件内容如下:
  代码:
  
  ALL:  INFO all
  
  BASEDIR  = $(HOME)
  INC  = $(BASEDIR)/inc
  LIB  = $(BASEDIR)/lib
  BIN  = $(BASEDIR)/bin
  
  MODULE  = $(BIN)/APP_A_mod_a
  TESTER  = APP_A_mod_a_t
  PRODUCT  = $(SERVER) $(TESTER)
  
  CC  = cc <特定平台cc可选参数>
  
  all:  $(PRODUCT)
  
  $(MODULE):  APP_A_mod_a.o
  @echo " Making $@ ..."
  @$(CC) $? -o$@ -L$(LIB) -lLIB_1
  
  APP_A_mod_a_t:  APP_A_mod_a_t.o
  @echo " Making $@ ..."
  @$(CC) $? -o$@ -L$(LIB) -lLIB_1
  
  .c.o:  *.h $(INC)/*.h
  @echo " Compiling $< ..."
  @$(CC) -c -I$(INC) $<
  
  INFO:
  @echo " make all - same with 'make' except this message"
  @echo " make clear - remove object files"
  @echo " make clean - remove all object and target files"
  @echo ""
  
  clear:  FORCE
  @rm -f *.o
  
  clean:  FORCE clear
  @rm -f $(PRODUCT)
  
  FORCE:
  
  
  使用方法:
  1.在主目录下使用'make'命令能够首先建立函数库,然后建立所有目标。
  2.在主目录下使用'make tar'命令能够对整个系统进行打包,生成的文件以日期和时间命名。
  3.在最下层子目录中直接使用'make'命令会首先给出用法提示,然后建立本目录所有目标。
  4.在最下层子目录中使用'make all'命令不出现提示信息,直接建立本目录所有目标。
  5.在最下层子目录中使用'make clear'命令可以清除本目录的所有.o文件。
  6.在最下层子目录中使用'make clean'命令可以清除本目录的所有.o文件和建立的所有目标。
[1] [2] 下一页 




上一篇:一步一步跟我学Linux平台下搭建Jsp环境

下一篇:基于Linux实现多个ADSL捆绑

一套的实用完整Makefile参考模板 相关文章:
·XP用户:教你实用50招
·Windows XP的20个超级实用技巧大全
·Windows XP鲜为人知的N招实用技巧
·非主流ps教程实用的技巧大全
·经典常见计算机密码破解实用手册
·[综合]召唤兽常见技能资质表(最新修补完整版)
·黑鹰行动军刀部队-完整攻略 - 游戏攻略
·国内大学校园网网络建设方案参考
·高手进阶,终极内存技术指南——完整/进阶版
·英文感谢信模板
一套的实用完整Makefile参考模板 相关软件:
·余世维《成功经理人讲座》完整电子书
·有关毛泽东的一些问题解答(不完整版)
·黑暗史诗-FATE绿色完整版
·Photoshop CS实用教程
·古典网页模板
·公司企业网站管理系统模板功能强大版
·极品飞车9简体中文版 完整无删改
·金山打字通2006完整版+29M精简版(48小时成为打字高手 精通5笔及拼音)
·最新ppt模板献给毕业设计的同学 适合汇报
·电脑上网实用操作教程

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot