Make file 函数

Makefile中有很多函数,这里逐步归类:


1. if函数

 函数原型: $(if <condition>,<then part>,<else part>)

 函数说明:condition是判断条件,如果condition返回非空字符串,那就执行<then part>部分,如果condition返回空字符串,那就执行<else part>部分。

 函数返回:返回<then part> 或者<else part>的执行结果

举例:$(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT)

 首先判断$(KBUILD_VERBOSE:1=)的结果,如果KBUILD_VERBOSE=1,则将KBUILD_VERBOSE替换为空字符串,那执行结果就为空字符串,那整个if的返回结果也为空字符串

       如果KBUILD_VERBOSE为非1,那KBUILD_VERBOSE为非空,那if的判断条件为非空,那if的返回结果为else part部分,这里为@


2. origin函数

   函数原型:$(origin <var>)

  函数说明:<var>是变量名字,用于判断这个变量来自于哪里,

  函数返回:1. <var>没有被定义,则返回"undefined"

                      2.<var>是使用make命令带进来的参数,则返回 "command line"

                      3.<var>如果是系统环境变量,则返回"environment"

                      4.<var>如果是"override"字符重定义的,则返回"override"

                      5.<var>是命令行中的自动化变量,则返回"automatic",比如$(origin @)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: GNU make 内置函数如下: - subst - patsubst - strip - findstring - filter - filter-out - sort - word - wordlist - words - firstword - lastword - dir - notdir - suffix - basename - addsuffix - addprefix - join - wildcard - realpath - abspath - error - warning - shell - origin - flavor - if - and - or - call - foreach - eval - value - eval-value ### 回答2: GNU make是一个常用的构建工具,在其中使用一些内置函数可以帮助我们更灵活地定义和处理变量。以下是一些GNU make中常见的内置函数: 1. $(subst from,to,text):在text中将from替换为to。 2. $(patsubst pattern,replacement,text):将text中符合pattern的部分替换为replacement。 3. $(wildcard pattern):使用通配符匹配文件或目录。 4. $(shell command):执行command命令并将结果返回。 5. $(strip string):去掉string前后的空格。 6. $(findstring find,in):在字符串in中查找find。 7. $(filter pattern...,text):从text中筛选出符合pattern的部分。 8. $(sort list):对list进行排序。 9. $(word n,text):返回text中第n个单词。 10. $(wordlist s,e,text):返回text中从第s个到第e个的单词。 11. $(words text):返回text中的单词个数。 12. $(firstword names...):返回names中的第一个单词。 13. $(lastword names...):返回names中的最后一个单词。 除了上述常见的内置函数外,GNU make还有其他一些函数,如替代函数、条件函数、循环函数等,这些函数可以根据不同的需求和用法来进行使用。请注意,由于篇幅所限,以上只是对一部分常用内置函数的简要介绍,详细用法和示例请参考GNU make的官方文档。 ### 回答3: GNU make中常用的内置函数有: 1. subst 2. patsubst 3. strip 4. findstring 5. filter 6. filter-out 7. sort 8. word 9. wordlist 10. words 11. firstword 12. lastword 13. dir 14. notdir 15. suffix 16. basename 17. addsuffix 18. addsuffixes 19. addprefix 20. join 21. wildcard 22. realpath 23. abspath 24. if 25. or 26. and 27. foreach 28. call 29. value 30. origin 31. flavor 32. guile 33. error 34. warning 35. info 36. shell 37. make 38. file 39. eval 40. foreach-eval 41. value-eval 42. call-eval 43. make-eval 44. notdir-eval 45. message 46. warning-eval 47. info-eval 48. origin-eval 49. flavor-eval 50. file-eval 以上是GNU make内置函数的一部分,能够在Makefile中使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值