9
A
回答
6
你的意思是這樣的:
$ cat Makefile
BUILD := debug
cxxflags.debug := -g -march=native
cxxflags.release := -g -O3 -march=native -DNDEBUG
CXXFLAGS := ${cxxflags.${BUILD}}
all :
@echo BUILD=${BUILD}
@echo CXXFLAGS=${CXXFLAGS}
.PHONY : all
輸出:
$ make
BUILD=debug
CXXFLAGS=-g -march=native
$ make BUILD=release
BUILD=release
CXXFLAGS=-g -O3 -march=native -DNDEBUG
15
您可以使用target-specific variable values,他們傳播到目標的先決條件:
all : foo bar
foo : CXXFLAGS += -DFOO
bar : CXXFLAGS += -DBAR
foo bar :
@echo [email protected] CXXFLAGS=${CXXFLAGS}
.PHONY : all
+0
請注意,這隻適用於GNU的make。 – martinkunev 2017-11-24 20:00:23
+0
@martinkunev那麼,GNU make是唯一的便攜式品牌AFAIK。 'nmake'是Windows特有的並且是垃圾,Sun使用Sun和Solaris製作了很多圈......我不熟悉其他品牌。 – 2017-11-24 21:30:36
相關問題
- 1. 如何定義一個變量,然後編譯目標[Makefile]
- 2. Make:根據目標設置變量
- 3. Makefile - 根據目標更改變量值
- 4. 根據目錄制定目標的變量
- 5. 根據windowidth定義和觀察變量
- 6. 根據浮動變量指定色標
- 7. .htaccess - 如何根據environement變量設置自定義標題?
- 8. C++重新定義目標變量,
- 9. 如何根據另一個變量的值定義變量
- 10. 如何根據定義變量的值定義列表名稱
- 11. 如何根據目標名稱進行條件編譯?
- 12. 改變目標編譯名QT應用
- 13. 定義變量名稱,除非在編譯器中重新編譯
- 14. Scala.js編譯目標
- 15. 通天編譯常量未定義
- 16. 在Swift中使用條件編譯來定義全局變量
- 17. C++成員專用數組變量 - 在編譯時未定義
- 18. AS3Eval庫抱怨「變量編譯沒有定義」
- 19. SCSS未定義的變量:「$ output-bourbon-deprecation-warnings」預編譯資產
- 20. Closure編譯器:變量定義是不宣
- 21. 編譯錯誤而定義的變量範圍
- 22. 定義VBA靜態變量導致編譯器錯誤
- 23. 未定義變量「圖像」Matlab編譯代碼錯誤
- 24. 用於Objective-C代碼的自定義編譯時間變量?
- 25. 表達式樹編譯失敗,由於未定義的變量?
- 26. HTML Webpack Plugin不會編譯,因爲Thymeleaf變量未定義
- 27. 爲什麼編譯器接受含糊變量定義?
- 28. 爲什麼編譯器不抱怨變量被重新定義?
- 29. 編譯錯誤:標籤未定義
- 30. 僅在編譯時運行自定義目標
ŧ他變量被傳遞爲'-D'標誌?你能否提供一個你的Makefile中有多個目標的摘錄? – 2011-02-26 17:49:23