148464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# Configurations to build 248464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# 348464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# This section must define: 448464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# Description - A description of this target. 548464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# Configs - The names of each configuration to build; this is used to build 648464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# multiple libraries inside a single configuration file (for 748464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# example, Debug and Release builds, or builds with and without 848464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# software floating point). 948464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# 1048464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# This section must define one of: 112d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines# UniversalArchs - A list of architectures to build for, when using universal build 1248464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# support (e.g., on Darwin). This should only be used to build fat 1348464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# libraries, simply building multiple libraries for different 1448464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# architectures should do so using distinct configs, with the 1548464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# appropriate choices for CC and CFLAGS. 1648464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# 1748464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# Arch - The target architecture; this must match the compiler-rt name for the 1848464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# architecture and is used to find the appropriate function 1948464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# implementations. 2048464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# 2148464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# When not universal builds, this section may define: 2248464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# Arch.<Config Name> - Set the target architecture on a per-config basis. 2348464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar 2448464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel DunbarDescription := Target for building universal libraries for Darwin. 2548464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar 2648464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel DunbarConfigs := Debug Release Profile 275e06e18068122930df7295fa9ddc03ba41c702d8Daniel DunbarUniversalArchs := i386 x86_64 2848464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar 2948464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# Platform Options 3048464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# 3148464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# This section may override any of the variables in make/options.mk, using: 3248464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# <Option Name> := ... option value ... 3348464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# 3448464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# See make/options.mk for the available options and their meanings. Options can 3548464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# be override on a per-config, per-arch, or per-config-and-arch basis using: 3648464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# <Option Name>.<Config Name> := ... 3748464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# <Option Name>.<Arch Name> := ... 3848464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar# <Option Name>.<Config Name>.<Arch Name> := ... 3948464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar 4055812b55319abed4fc77fdcb29310fe60b275717Daniel DunbarCC := clang 4148464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar 4248464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel DunbarCFLAGS := -Wall -Werror 4348464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel DunbarCFLAGS.Debug := $(CFLAGS) -g 4448464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel DunbarCFLAGS.Release := $(CFLAGS) -O3 -fomit-frame-pointer 4548464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel DunbarCFLAGS.Profile := $(CFLAGS) -pg -g 4648464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar 4748464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel DunbarFUNCTIONS.i386 := $(CommonFunctions) $(ArchFunctions.i386) 4848464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel DunbarFUNCTIONS.ppc := $(CommonFunctions) $(ArchFunctions.ppc) 4948464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel DunbarFUNCTIONS.x86_64 := $(CommonFunctions) $(ArchFunctions.x86_64) 503c2c684ce20c998bc027c162b7db853a43864e5cNick KledzikFUNCTIONS.armv5 := $(CommonFunctions) $(ArchFunctions.armv5) 5148464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel DunbarFUNCTIONS.armv6 := $(CommonFunctions) $(ArchFunctions.armv6) 5248464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel DunbarFUNCTIONS.armv7 := $(CommonFunctions) $(ArchFunctions.armv7) 5348464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel Dunbar 5448464e0ee1c2de5bcbf0d609348f55d0c301085dDaniel DunbarOPTIMIZED.Debug := 0 556a571fb3c515c5ea53308ba0eda750e8dd76ef6bDaniel Dunbar 566a571fb3c515c5ea53308ba0eda750e8dd76ef6bDaniel DunbarVISIBILITY_HIDDEN := 1 57