Я экспериментирую с обновленной системой сборки на работе; В настоящее время я пытаюсь найти хороший способ установить компилятор и флаги в зависимости от целевой платформы.
Я бы хотел сделать что-то вроде
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 файлов, каждый из которых содержит набор определений переменных.
Кто-нибудь знает лучший способ сделать это? То есть установить набор флагов и другие параметры на основе другой переменной?