config.mk revision b3a6901e66f55b35aa9e01bcb24134e6a65ea004
1b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar### 2b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# Configuration variables. 3b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar 4b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# Assume make is always run from top-level of source directory. Note 5b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# than an Apple style build overrides these variables later in the 6b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# makefile. 7b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarProjSrcRoot := $(shell pwd) 8b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarProjObjRoot := $(ProjSrcRoot) 9b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar 10b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarConfigs := Debug Release Profile 11b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarArchs := i386 ppc x86_64 12b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar 13b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarCommon.CFLAGS := -Wall -Werror 14b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar 15b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# These names must match the configs, see GetArgs function. 16b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarDebug.CFLAGS := -g 17b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarRelease.CFLAGS := -O3 -fomit-frame-pointer 18b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarProfile.CFLAGS := -pg -g 19b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar 20b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# Function: GetArgs config arch 21b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# 22b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# Return the compiler flags for the given config & arch. 23b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarGetArgs = $(if $($(1).CFLAGS),$(Common.CFLAGS) $($(1).CFLAGS) -arch $(2), \ 24b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar $(error "Invalid configuration: $(1)")) 25b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar 26b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar### 27b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# Tool configuration variables. 28b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar 29b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarCC := gcc 30b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# FIXME: LLVM uses autoconf/mkinstalldirs ? 31b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarMKDIR := mkdir -p 32b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarDATE := date 33b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarAR := ar 34b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# FIXME: Remove these pipes once ranlib errors are fixed. 35b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarAR.Flags := cru 2> /dev/null 36b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarRANLIB := ranlib 37b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# FIXME: Remove these pipes once ranlib errors are fixed. 38b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarRANLIB.Flags := 2> /dev/null 39b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarLIPO := lipo 40b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar 41b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar### 42b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# Automatic and derived variables. 43b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar 44b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar# Adjust settings for verbose mode 45b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbarifndef VERBOSE 46b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar Verb := @ 47b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbarelse 48b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar Verb := 49b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbarendif 50b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar 51b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarEcho := @echo 52b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarArchive := $(AR) $(AR.Flags) 53b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarRanlib := $(RANLIB) $(RANLIB.Flags) 54b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel DunbarLipo := $(LIPO) 55b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbarifndef Summary 56b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbar Summary = $(Echo) 57b3a6901e66f55b35aa9e01bcb24134e6a65ea004Daniel Dunbarendif 58