Chinaunix首页 | 论坛 | 博客
  • 博客访问: 532769
  • 博文数量: 150
  • 博客积分: 5010
  • 博客等级: 大校
  • 技术积分: 1861
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-17 00:19
文章分类

全部博文(150)

文章存档

2011年(1)

2009年(14)

2008年(135)

我的朋友

分类: LINUX

2008-04-03 19:19:49

 

3.4.3.1 伪目标

伪目标并不对应于实际的文件,比如clean。由于
它不需要相关文件,它所指定的命令不自动执行,
这是由make 的工作机制决定的。此时,必须输入
make clean 才可以来执行这个伪目标。

可以利用伪目标来完成很多有用的工作,比如我们
在编译内核的时候,make dep,make install,make
menuconfig 等等。

3.4.3.2 变量

我们可以看到[.o]文件的字符串被重复了两次,如
果我们的工程需要加入一个新的[.o]文件,那么我
们需要 两个地方加(应该是三个地方,还有一个
地方 clean 中)。当然,我们的makefile 并不复
杂,所以 两个地方加也不累,但如果makefile
变得复杂,那么我们就有可能会忘掉一个需要加入
的地方,而导致编译失败。所以,为了makefile
的易维护, makefile 中我们可以使用变量。
makefile 的变量也就是一个字符串,理解成C 语言

中的宏可能会更好。【引入需要,用变量来代替经
常使用的字符串】

objects = main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o

edit : $(objects)
cc -o edit $(objects)

格式:VARNAME = some_text [...]

另外举例: TOPDIR = /home/kwall/myproject
                   SRCDIR = $(TOPDIR)/src


3.4.3.3 环境变量、自动变量和预定义变量

除了用户定的变量意外,make 也允许使用环境变
量、自动变量和预定义变量。

使用环境变量非常简单, 启动时,make 读取已定
    的环境变量,并且创建了与之同名同值的变量。

如果makefile 中有同名的变量,则这个变量将取
代与之相应的环境变量。

列举:

3.4.3.4 隐式规则

除了 makefile 中定 的显示规则以外,make还
有一系列的隐式规则,也可以称为预定 规则。其
中的大部分是出于特殊的目的,这里只是列举一些
最常用的。

结合 面的一个makefile 的举例:

    这个 makefile 提及了三个目标文件:也就是
editor.o,screen.o和keyboard.o,但是没有给如
何编译这些目标文件的规则,此时,make 就使用所
谓的隐式规则:对每一个XXX.o 目标文件,找到与
之对应的源代码文件XXX.c,然后使用编译命令生
成之。

3.4.3.5 模式规则

用户可以自己定 隐式规则,这样make 提供了扩
展其本身的隐式规则的方法。

模式规则类似于普通规则,但是它的目标必定含有
符号%,这个符号可以与任何非空字符串匹配;为
与目标中的%匹配,这个规则的相关文件也必须使
用%。

实际上,make 就是使用其自己预先定 的模式规则
来生成隐式规则的。比如:

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

3.4.3.6 注释

和c++语言类似,如果要给一行添加注释,则要
使用#这个符号。可以提高makefile 的可读性。

3.4.4 其他 make 命令参数

具体的可以参考 man make 的输出。这里列举几个
常用的。

3.4.4 有用的makefile 伪目标

这里列举几个常用的。如install,unstall 来进
行安装。disk 可以用来生成准备发布的软件包。
test 或者check 可以用来进行验证显示适当的诊
断信息。

对于内核编译而言,其makefile 比 复杂。可以
参考:赵炯的书的2.10一节


================================
共产主义实现技术已经存在!
  
   干革命靠的是毛泽东思想
  建设共产主义靠的是公益思想!





自我介绍:
 共产主义社会模型的创立者,共产主义社会建设的设计师,公益思想理论的创立者。24岁发现了共产主义实现技术---公益思想理论(证明了公益是共产主义的核心价值观、共产主义社会是公益驱动而不是资本驱动,倡导公益观念、公益思维、公益文化、公益评价体系、公益职业经理人制度、公益系统的建立、公益政党的建设,公益改革的方向,提出

社会尽快由商业化、产业化、资本化向公益化转移,国家尽快由以经济建设为中心向追求社会价值最大化的公益建设为中心的重大战略转移!)



共产主义社会就是公益社会,共产主义世界就是公益世界。没有公益观念,没有公益精神,共产主义社会的特征“各尽所能”“各取所需”是空话、是幻想。没有

以追求社会价值最大化的公益企业, 没有公益经理人制度消灭剥削也只是纸上谈兵!

没有完善的公益系统,没有公益社会评价制度,消灭私有制也只是空中楼阁!!

不提倡公益文化,不提倡公益精神文明建设,私有观念的消除也只是一厢情愿!



阅读(1113) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~