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