Skip to content
Erik Rainey edited this page Feb 27, 2015 · 3 revisions

Combos are a way to build multiple passes of the same code with different configurations all at once.

In your top level Makefile you just add them to you variable, TARGET_COMBOS.

TARGET_COMBOS:=PC:LINUX:x86_64:0:debug:CLANG
TARGET_COMBOS+=PC:LINUX:x86_64:0:release:CLANG
TARGET_COMBOS+=DEVBOARD:LINUX:ARM:4:release:GCC=arm-eabi-
TARGET_COMBOS+=PC:DARWIN:x86_64:0:debug:CLANG
include $(CONCERTO_ROOT)/rules.mak

This set will build a debug verison for x86_64 on Linux, and then if the cross compiler is present, an ARM version and lastly the Darwin version. The ARM version here has the cross compiler prefix set too (it ought to be in your path too!).

Filter Rules

Not all combos can be built simultaneously. Clearly LINUX and DARWIN can't be built at the same time. The system will filter out impossible combos before build-time.

What does the COMBO contain?

TARGET_COMBOS+=$(TARGET_PLATFORM):$(TARGET_OS):$(TARGET_CPU):$(TARGET_NUM_CORES):$(TARGET_BUILD):$(HOST_COMPILER)
Clone this wiki locally