Chinaunix首页 | 论坛 | 博客
  • 博客访问: 177324
  • 博文数量: 37
  • 博客积分: 1110
  • 博客等级: 少尉
  • 技术积分: 395
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-29 22:01
文章分类

全部博文(37)

文章存档

2013年(10)

2011年(2)

2010年(25)

我的朋友

分类: LINUX

2010-11-07 17:39:57

一、makefile的条件执行

 

1、  关键字“ifeq

此关键字用来判断参数是否相等。格式如下:

ifeq(ARG1,ARG2)

      test1

else

      test2

endif

   替换并展开ARG1ARG2之后,对它们的值进行比较。如果条件为真(值相等)将执行test1,否则执行test2.

     

2、  关键字“ifneq

此关键字用来判断参数是否相等。格式如下:

ifneq(ARG1,ARG2)

      test1

else

      test2

endif

   替换并展开ARG1ARG2之后,对它们的值进行比较。如果条件为真(值不相等)将执行test1,否则执行test2.

 

3、  关键字“ifdef

此关键字是用来判断一个变量是否定义。格式如下:

ifdef NAME

      test1

else

      test2

endif

如果变量NAME的值位非空,则条件为真,执行test1。否则执行test2.

对于ifdef需要说明的是:ifdef只是测试一个变量是否有值。其并不会对变量进行替换扩展来判断变量的值是否为空。对于变量NAME,除了“NAME=”这种情况以外,使用其他方式对它的定义都会使ifdef返回真。就是说,即使我们通过其他方式给它赋一个空值,ifdef也会返回真。

 

4、  关键字“ifndef

此关键字实现的功能与ifdef相反,格式如下:

ifdnef NAME

      test1

else

      test2

endif

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

chinaunix网友2010-11-08 15:24:41

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com