[makefile] 命令列給make直譯器傳引數
阿新 • • 發佈:2019-01-24
例如:
build:
[tab] mvn clean package
原本是這樣既可以跑 UT又可以打不jar 包來,但後來UT總是不過。怎麼避免對檔案的修改呢? 本著這樣目的,修改如下:
1 maven.test.skip = false
2 build:
3 [tab] mvn clean package -Dmaven.test.skip=$(maven.test.skip)
注意line 1的賦值,幾makefile的賦值語法與shell不同,key value不必緊緊地貼在=號兩側。
這樣是mvn 就有個預設值了。 還可以寫成:
即刪除預設值。 但呼叫的規則都是一樣的, 即:1 build: 2 [tab] mvn clean package -Dmaven.test.skip=$(maven.test.skip)
make -f MakefileName maven.test.skip=true
這裡的,在命令列的賦值,key value,就必須像shell中給變數賦值一樣,不能有空格,否者shell就不認識他們了。2 case:
ifdef CONFIG_DEBUG_INFO
KBUILD_CFLAGS += -g
KBUILD_AFLAGS += -gdwarf-2
endif
要想enable這部分功能, 需要
> make CONFIG_DEBUG_INFO=1
在命令列定義它。
可參見: http://blog.csdn.net/kangear/article/details/8583979