Makefile 基础语法 - Go语言中文社区

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))))


版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/hkingsp/p/11764364.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-11-07 22:03:12
  • 阅读 ( 890 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢