2 Embedded?=$(shell echo $(SDKROOT) | grep -iq iphoneos && echo YES || echo NO)
3 CC:=$(shell xcrun -sdk "$(SDKROOT)" -find cc)
4 CFLAGS:=-c -Wall -pedantic -Os
7 SRCROOT?=$(shell /bin/pwd)
8 DSTROOT?=$(shell /bin/pwd)/BUILD/dst
9 OBJROOT?=$(shell /bin/pwd)/BUILD/obj
10 SYMROOT?=$(shell /bin/pwd)/BUILD/sym
16 ifeq "$(Embedded)" "YES"
17 ARCHS:=armv7 armv7s arm64
25 ifeq "$(Embedded)" "YES"
26 TARGET_NAME:=PerfIndex.bundle-ios
27 XCODEBUILD=xcodebuild -sdk iphoneos.internal
29 TARGET_NAME:=PerfIndex.bundle-osx
33 CFLAGS += $(patsubst %, -arch %, $(ARCHS))
34 LDFLAGS += $(patsubst %, -arch %, $(ARCHS))
36 all: $(DSTROOT) $(OBJROOT) $(SYMROOT) \
37 $(DSTROOT)/perf_index \
38 $(DSTROOT)/perfindex-cpu.dylib \
39 $(DSTROOT)/perfindex-memory.dylib \
40 $(DSTROOT)/perfindex-syscall.dylib \
41 $(DSTROOT)/perfindex-fault.dylib \
42 $(DSTROOT)/perfindex-zfod.dylib \
43 $(DSTROOT)/perfindex-file_create.dylib \
44 $(DSTROOT)/perfindex-file_read.dylib \
45 $(DSTROOT)/perfindex-file_write.dylib \
46 $(DSTROOT)/perfindex-ram_file_create.dylib \
47 $(DSTROOT)/perfindex-ram_file_read.dylib \
48 $(DSTROOT)/perfindex-ram_file_write.dylib \
49 $(DSTROOT)/perfindex-iperf.dylib \
50 $(DSTROOT)/perfindex-compile.dylib \
51 $(DSTROOT)/PerfIndex.bundle
53 $(DSTROOT)/perfindex-cpu.dylib: $(OBJROOT)/md5.o
54 $(DSTROOT)/perfindex-fault.dylib: $(OBJROOT)/test_fault_helper.o
55 $(DSTROOT)/perfindex-zfod.dylib: $(OBJROOT)/test_fault_helper.o
56 $(DSTROOT)/perfindex-file_create.dylib: $(OBJROOT)/test_file_helper.o
57 $(DSTROOT)/perfindex-file_read.dylib: $(OBJROOT)/test_file_helper.o
58 $(DSTROOT)/perfindex-file_write.dylib: $(OBJROOT)/test_file_helper.o
59 $(DSTROOT)/perfindex-ram_file_create.dylib: $(OBJROOT)/test_file_helper.o $(OBJROOT)/ramdisk.o
60 $(DSTROOT)/perfindex-ram_file_read.dylib: $(OBJROOT)/test_file_helper.o $(OBJROOT)/ramdisk.o
61 $(DSTROOT)/perfindex-ram_file_write.dylib: $(OBJROOT)/test_file_helper.o $(OBJROOT)/ramdisk.o
63 $(DSTROOT)/perf_index: $(OBJROOT)/perf_index.o
64 $(CC) $(LDFLAGS) $? -o $@
66 $(DSTROOT)/PerfIndex.bundle: $(SRCROOT)/PerfIndex_COPS_Module/PerfIndex.xcodeproj
67 $(XCODEBUILD) -target $(TARGET_NAME) OBJROOT=$(OBJROOT) SYMROOT=$(SYMROOT) TARGET_TEMP_DIR=$(OBJROOT) TARGET_BUILD_DIR=$(DSTROOT) -project $? CLANG_ENABLE_MODULES=NO
69 $(DSTROOT)/%.dylib: $(OBJROOT)/%.o
70 $(CC) $(LDFLAGS) -dynamiclib $? -o $@
72 $(OBJROOT)/%.o: $(SRCROOT)/%.c
73 $(CC) $(CFLAGS) $? -o $@