01.. debug makefile(除錯makefile)
可以放在makefile 中的任何地方:開始的位置、作業目標或必要條件串列中以及命令腳本中,
$(info debug_output_info_message)
$(warning debug_output_warning_message_and_line_number)
$(error debug_output_error_message_and_stop)
帶變數的除錯資訊
$(info, CC is:$(CC) )
02.. echo in makefile
target … : prerequisites …
recipe
echo只能在recipe這里用,且前面必須是個TAB,
如:
.DEFAULT:
@echo "####make 009####"
03.. specify the directores , i not specified , search current directory put every folder into a list
SRCDIRS :=
ifeq ($(SRCDIRS),)
SRCDIRS := $(shell find $(SRCDIRS) -type d)
04.. addprefix:
作用是給每個string添加前綴,string之間用空格隔開,
$(addprefix prefixstr, string1 string2 ...)
如: $(addprefix chapters/, docx pdf jpg)
05.. addsufix: 增加后綴;basename:取前綴;
OBJS = $(addsuffix .o, $(basename $(SOURCES)))
06..
$(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))))
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/159089.html
標籤:Linux
上一篇:linuxIP地址配置欄位說明
下一篇:Linux—編譯安裝詳解
