1.. specify the directores , i not specified , search current directory put every folder into a list
SRCDIRS :=
ifeq ($(SRCDIRS),)
SRCDIRS := $(shell find $(SRCDIRS) -type d)

2.. addprefix:
作用是给每个string添加前缀,string之间用空格隔开。
$(addprefix prefixstr, string1 string2 ...)
如: $(addprefix chapters/, docx pdf jpg)

3.. addsufix: 增加后缀;basename:取前缀;
OBJS = $(addsuffix .o, $(basename $(SOURCES)))

4..
$(foreach <var>,<list>,<text>)
這個函數的意思是,把參數<list>中的單詞逐一取出放到參數<var>所指定的變量中,然後再執行<text>所包含的表達式。每一次<text>會返回一個字符串,循環過程中,<text>的所返回的每個字符串會以空格分隔,最後當整個循環結束時,<text>所返回的每個字符串所組成的整個字符串(以空格分隔)將會是foreach函數的返回值。
example:
SRCEXTS = .cpp
SOURCES = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(SRCEXTS))))
HDREXTS = .h
HEADERS = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(HDREXTS))))

最新文章

  1. C#通过事件跨类调用WPF主窗口中的控件
  2. mysql数据校验之字符集问题
  3. android 关于appcompat v7出错问题与解决
  4. php常用函数(不定时更新)
  5. Android 菜单定制使用小结
  6. 疯狂java学习笔记之面向对象(八) - static和final
  7. Linux系统性能和使用活动监控工具 sysstat
  8. POJ 2409 Let it Bead(Polya定理)
  9. c++ timer基于win消息队列
  10. 浅谈MVC MVP MVVM
  11. [Swift]LeetCode24. 两两交换链表中的节点 | Swap Nodes in Pairs
  12. sql函数创建
  13. ActiveMQ、RabbitMQ、RocketMQ、Kafka有什么优点和缺点
  14. 安装pydiction
  15. 一起来全面解析5G网络领域最关键的十大技术
  16. 什么场景应该用 MongoDB(转)
  17. 用10046 跟踪exp
  18. C语言条件编译及编译预处理阶段(转)
  19. Python中各种进制之间的转化
  20. 英语词根与单词的说文解字---词根示例1、第10页 st(at)

热门文章

  1. Win10 Mactype 字体优化
  2. 学习:API断点和条件记录断点和内存断点的配合
  3. Spring Cloud微服务安全实战_3-7_API安全之授权
  4. MySQL实战45讲学习笔记:第二十六讲
  5. [LeetCode] 633. Sum of Square Numbers 平方数之和
  6. [LeetCode] 565. Array Nesting 数组嵌套
  7. [LeetCode] 88. Merge Sorted Array 混合插入有序数组
  8. tecplot无法处理高版本fluent导出的Ensight格式
  9. JVM系列之四:运行时数据区
  10. win10配置jdk1.8环境变量