1# Default platform uses the native SDK. 2# To build for Mac OS X using internal SDK, use 'make PLATFORM=macosx <target>' 3# To build for iOS, use 'make PLATFORM=iphoneos <target>' 4 5ifeq ($(PLATFORM),iphoneos) 6# iOS internal SDK 7CORETELEPHONY=-framework CoreTelephony 8ARCHS=armv7 9endif 10 11ifeq ($(PLATFORM),macosx) 12# Mac OS X internal SDK 13ARCHS=i386 x86_64 14CORETELEPHONY= 15endif 16 17ifeq ($(PLATFORM),) 18# Mac OS X native SDK 19ARCHS=x86_64 20CORETELEPHONY= 21CC = cc 22SYSROOT = / 23PF_INC = -F/System/Library/PrivateFrameworks 24else 25# Mac OS X or iOS internal SDK 26SDK=$(PLATFORM).internal 27SYSROOT=$(shell xcodebuild -version -sdk $(SDK) Path) 28CC = xcrun -sdk $(SDK) cc 29PF_INC = -F$(SYSROOT)/System/Library/PrivateFrameworks 30endif 31 32SC_PRIV=-DUSE_SYSTEMCONFIGURATION_PRIVATE_HEADERS 33ARCH_FLAGS=$(foreach a,$(ARCHS),-arch $(a)) 34 35if_rank_assert: IPMonitorControlServer.c IPMonitorControl.c main.c 36 $(CC) $(SC_PRIV) -DTEST_IPMONITOR_CONTROL -I$(SYSROOT)/System/Library/Frameworks/System.framework/PrivateHeaders $(ARCH_FLAGS) -isysroot $(SYSROOT) $(PF_INC) -framework CoreFoundation -framework SystemConfiguration -Wall -g -o $@ $^ 37 38clean: 39 rm -rf *.dSYM *~ *.o if_rank_assert 40