Makefile 基础语法
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))))
最新文章
- C#通过事件跨类调用WPF主窗口中的控件
- mysql数据校验之字符集问题
- android 关于appcompat v7出错问题与解决
- php常用函数(不定时更新)
- Android 菜单定制使用小结
- 疯狂java学习笔记之面向对象(八) - static和final
- Linux系统性能和使用活动监控工具 sysstat
- POJ 2409 Let it Bead(Polya定理)
- c++ timer基于win消息队列
- 浅谈MVC MVP MVVM
- [Swift]LeetCode24. 两两交换链表中的节点 | Swap Nodes in Pairs
- sql函数创建
- ActiveMQ、RabbitMQ、RocketMQ、Kafka有什么优点和缺点
- 安装pydiction
- 一起来全面解析5G网络领域最关键的十大技术
- 什么场景应该用 MongoDB(转)
- 用10046 跟踪exp
- C语言条件编译及编译预处理阶段(转)
- Python中各种进制之间的转化
- 英语词根与单词的说文解字---词根示例1、第10页 st(at)
热门文章
- Win10 Mactype 字体优化
- 学习:API断点和条件记录断点和内存断点的配合
- Spring Cloud微服务安全实战_3-7_API安全之授权
- MySQL实战45讲学习笔记:第二十六讲
- [LeetCode] 633. Sum of Square Numbers 平方数之和
- [LeetCode] 565. Array Nesting 数组嵌套
- [LeetCode] 88. Merge Sorted Array 混合插入有序数组
- tecplot无法处理高版本fluent导出的Ensight格式
- JVM系列之四:运行时数据区
- win10配置jdk1.8环境变量