我正在工作中尝试更新的构建系统;目前,我正在尝试找到一种根据目标平台设置编译器和标志的好方法。
我想做的是
switch $(PLATFORM)_$(BUILD_TYPE)
case "Linux_x86_release"
CFLAGS = -O3
case "Linux_x86_debug"
CFLAGS = -O0 -g
case "ARM_release"
CC = armcc
AR = armlink
CFLAGS = -O2 -fx
...
GNU Make 不支持。现在,我的第一个想法是做
-include $(PLATFORM)_$(BUILD_TYPE)
这是一个相当不错的解决方案,但是,很难了解文件之间的差异,更不用说我期待编写和维护一个好的 60-80 个文件,每个文件都包含一组变量定义.
有没有人碰巧知道更好的方法来做到这一点?即基于另一个变量设置一组标志和其他选项?