+SDKROOT ?= /
+HOST_SDKROOT ?= /
+
+ifeq ($(PLATFORM),)
+ export PLATFORM := $(shell xcodebuild -sdk $(SDKROOT) -version PlatformPath | head -1 | sed 's,^.*/\([^/]*\)\.platform$$,\1,')
+ ifeq ($(PLATFORM),)
+ export PLATFORM := MacOSX
+ endif
+endif
+
+# CC/CXX get defined by make(1) by default, so we can't check them
+# against the empty string to see if they haven't been set
+ifeq ($(origin CC),default)
+ifneq ($(findstring iPhone,$(PLATFORM)),)
+ export CC := $(shell $(XCRUN) -sdk $(SDKROOT) -find gcc-4.2)
+else
+ export CC := $(shell $(XCRUN) -sdk $(SDKROOT) -find cc)
+endif
+endif
+ifeq ($(origin CXX),default)
+ifneq ($(findstring iPhone,$(PLATFORM)),)
+ export CXX := $(shell $(XCRUN) -sdk $(SDKROOT) -find g++-4.2)
+else
+ export CXX := $(shell $(XCRUN) -sdk $(SDKROOT) -find c++)
+endif
+endif
+ifeq ($(MIG),)
+ export MIG := $(shell $(XCRUN) -sdk $(SDKROOT) -find mig)
+endif
+ifeq ($(MIGCC),)
+ export MIGCC := $(CC)
+endif
+ifeq ($(RELPATH),)
+ export RELPATH := $(shell $(XCRUN) -sdk $(SDKROOT) -find relpath)
+endif
+ifeq ($(STRIP),)
+ export STRIP := $(shell $(XCRUN) -sdk $(SDKROOT) -find strip)
+endif
+ifeq ($(LIPO),)
+ export LIPO := $(shell $(XCRUN) -sdk $(SDKROOT) -find lipo)
+endif
+ifeq ($(LIBTOOL),)
+ export LIBTOOL := $(shell $(XCRUN) -sdk $(SDKROOT) -find libtool)
+endif
+ifeq ($(NM),)
+ export NM := $(shell $(XCRUN) -sdk $(SDKROOT) -find nm)
+endif
+ifeq ($(UNIFDEF),)
+ export UNIFDEF := $(shell $(XCRUN) -sdk $(SDKROOT) -find unifdef)
+endif
+ifeq ($(DECOMMENT),)
+ export DECOMMENT := $(shell $(XCRUN) -sdk $(SDKROOT) -find decomment)
+endif
+ifeq ($(DSYMUTIL),)
+ export DSYMUTIL := $(shell $(XCRUN) -sdk $(SDKROOT) -find dsymutil)
+endif
+ifeq ($(CTFCONVERT),)
+ export CTFCONVERT := $(shell $(XCRUN) -sdk $(SDKROOT) -find ctfconvert)
+endif
+ifeq ($(CTFMERGE),)
+ export CTFMERGE := $(shell $(XCRUN) -sdk $(SDKROOT) -find ctfmerge)
+endif
+ifeq ($(CTFSCRUB),)
+ export CTFSCRUB := $(shell $(XCRUN) -sdk $(SDKROOT) -find ctfdump) -r
+endif
+ifeq ($(NMEDIT),)
+ export NMEDIT := $(shell $(XCRUN) -sdk $(SDKROOT) -find nmedit)
+endif
+
+# Platform-specific tools
+ifneq ($(findstring iPhone,$(PRODUCT)),)
+ifeq ($(IPHONEOS_OPTIMIZE),)
+ export IPHONEOS_OPTIMIZE := $(shell $(XCRUN) -sdk $(SDKROOT) -find iphoneos-optimize)
+endif
+endif
+
+# Scripts or tools we build ourselves
+SEG_HACK := $(OBJROOT)/SETUP/setsegname/setsegname
+KEXT_CREATE_SYMBOL_SET := $(OBJROOT)/SETUP/kextsymboltool/kextsymboltool
+NEWVERS = $(SRCROOT)/config/newvers.pl
+
+# Standard BSD tools
+MD = /usr/bin/md