学习makefile的进化历程($@ $^ $< $?)

本文通过实例介绍如何编写和进化makefile,包括基本的GNU make功能、自动变量如$@, $^, $<和?$的使用,以及如何构建静态库和动态库。通过阅读,读者可以掌握makefile在编译过程中的自动化处理技巧。" 119208219,7497651,深度克隆无向连通图,"['图论', '深度优先搜索', '数据结构', '算法', '图的遍历']
摘要由CSDN通过智能技术生成

#整理:lizhangjie   日期:2010年12月24日
------------------------------------------------------------------------------------------------

前言:
------------------------------------------------------------------------------------------------
 学习linux要了解几大工具:shell,gcc,makefile,这里说的主要是makefile以及和makefile及其
相关的gcc(主要是一些常用参数和gcc使用格式)。对这些工具的做一些基础的了解和掌握能使你的工作事半
功倍,也是成为linux C程序员的必经之路。


正文:
------------------------------------------------------------------------------------------------
  GNU make主要功能是读进一个文本文件Makefile并根据Makefile的内容执行相应的动作。Makefile默认的文件名
  为GNU make、makefile、Makefile。Makefile是文本形式的数据库文件,主要描叙哪些文件(target目标文件)是
  从哪些文件(dependency依赖文件)产生,以及使用什么命令来执行这个过程。

  内容格式: 
      目标文件列表 : 依赖文件列表
      <TAB>命令列表

   目标文件列表: make最终要创建的文件,目标文件之间用空格隔开。
 依赖文件列表: 通常是需要编译的目标文件和其他文件。
 命令列表: make执行的动作,通常是把指定的文件编译成目标文件的命令。每个命令之前都需要TAB字符。
  make语法:
   make[选项][目标][宏定义]

 [选项]:
      -d  显示调试信息
      -f  文件名  指定该文件为依赖关系文件;'-'表示make将从标准输入中读取依赖关系
      -n  不执行Makefile中的命令,只是显示输出这些命令。
      -s  执行Makefile但是不显示任何信息。

下面我们单刀直入,通过例子来了解makefile是怎么写出来的。
------------------------------------------------------------------------------------------------
makefile的最初版本(所有依赖关系都显式地表明):

#Author : lizhangjie  Date:2010.12.22
#introduction: compile c sourcefiles into

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值