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..
$(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))))
上一篇: 大话设计模式笔记(七)の原型模式
下一篇: Yii2.0 组件