]> git.saurik.com Git - apple/xnu.git/blob - tools/tests/perf_index/Makefile
xnu-2782.1.97.tar.gz
[apple/xnu.git] / tools / tests / perf_index / Makefile
1 SDKROOT ?= /
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
5 LDFLAGS:=
6
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
11
12 ifdef RC_ARCHS
13 ARCHS:=$(RC_ARCHS)
14 else
15 ifeq ($(ARCHS),)
16 ifeq "$(Embedded)" "YES"
17 ARCHS:=armv7 armv7s arm64
18 else
19 ARCHS:=x86_64 i386
20 endif
21 endif
22 endif
23
24
25 ifeq "$(Embedded)" "YES"
26 TARGET_NAME:=PerfIndex.bundle-ios
27 XCODEBUILD=xcodebuild -sdk iphoneos.internal
28 else
29 TARGET_NAME:=PerfIndex.bundle-osx
30 XCODEBUILD=xcodebuild
31 endif
32
33 CFLAGS += $(patsubst %, -arch %, $(ARCHS))
34 LDFLAGS += $(patsubst %, -arch %, $(ARCHS))
35
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
52
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
62
63 $(DSTROOT)/perf_index: $(OBJROOT)/perf_index.o
64 $(CC) $(LDFLAGS) $? -o $@
65
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
68
69 $(DSTROOT)/%.dylib: $(OBJROOT)/%.o
70 $(CC) $(LDFLAGS) -dynamiclib $? -o $@
71
72 $(OBJROOT)/%.o: $(SRCROOT)/%.c
73 $(CC) $(CFLAGS) $? -o $@
74
75 $(DSTROOT):
76 mkdir -p $(DSTROOT);
77
78 $(OBJROOT):
79 mkdir -p $(OBJROOT);
80
81 $(SYMROOT):
82 mkdir -p $(SYMROOT);
83
84 clean:
85 rm -rf $(OBJROOT)
86 rm -rf $(DSTROOT)
87 rm -rf $(SYMROOT)