]>
Commit | Line | Data |
---|---|---|
1 | include Makefile.common | |
2 | ||
3 | ifndef SRCROOT | |
4 | export SRCROOT := $(shell /bin/pwd) | |
5 | endif | |
6 | ifndef OBJROOT | |
7 | export OBJROOT = $(SRCROOT)/BUILD/obj | |
8 | endif | |
9 | ifndef DSTROOT | |
10 | export DSTROOT = $(SRCROOT)/BUILD/dst | |
11 | endif | |
12 | ifndef SYMROOT | |
13 | export SYMROOT = $(SRCROOT)/BUILD/sym | |
14 | endif | |
15 | ||
16 | ifdef RC_ProjectName | |
17 | DSTSUBPATH = $(DSTROOT)/AppleInternal/CoreOS/tests/xnu | |
18 | BATS_CONFIG_PATH = $(DSTROOT)/AppleInternal/CoreOS | |
19 | else | |
20 | DSTSUBPATH = $(DSTROOT) | |
21 | BATS_CONFIG_PATH = $(DSTROOT) | |
22 | endif | |
23 | ||
24 | COMMON_TARGETS = unit_tests \ | |
25 | MPMMTest \ | |
26 | packetdrill \ | |
27 | affinity \ | |
28 | execperf \ | |
29 | kqueue_tests \ | |
30 | superpages \ | |
31 | zero-to-n \ | |
32 | jitter \ | |
33 | perf_index \ | |
34 | darwintests \ | |
35 | unixconf \ | |
36 | testkext/pgokext.kext | |
37 | ||
38 | IPHONE_TARGETS = | |
39 | ||
40 | MAC_TARGETS = | |
41 | ||
42 | BATS_TARGET = $(BATS_CONFIG_PATH)/BATS | |
43 | ||
44 | ifeq "$(Embedded)" "YES" | |
45 | TARGETS = $(addprefix $(DSTSUBPATH)/, $(COMMON_TARGETS) $(IPHONE_TARGETS)) | |
46 | else | |
47 | TARGETS = $(addprefix $(DSTSUBPATH)/, $(COMMON_TARGETS) $(MAC_TARGETS)) | |
48 | endif | |
49 | ||
50 | all: $(BATS_TARGET) $(TARGETS) | |
51 | ||
52 | .PHONY: always | |
53 | ||
54 | always: | |
55 | ||
56 | # NOTE: RC_ARCHES nonsense is here because code signing will fail on kexts if we include a i386 slice | |
57 | # <rdar://problem/29878263> CoreOSLobo: xnu_tests-4026 fails to codesign | |
58 | ||
59 | $(DSTSUBPATH)/testkext/pgokext.kext: always | |
60 | xcodebuild -configuration Debug -project $(SRCROOT)/testkext/testkext.xcodeproj -target pgokext DSTROOT=$(DSTSUBPATH)/testkext SYMROOT=$(SYMROOT)/testkext SRCROOT=$(SRCROOT)/testkext OBJROOT=$(OBJROOT)/testkext SDKROOT=$(SDKROOT) RC_ARCHS="$(subst i386,,$(RC_ARCHS))" install | |
61 | ||
62 | $(DSTSUBPATH)/%: always | |
63 | $(_v)echo Building $@ | |
64 | $(_v)mkdir -p $@ | |
65 | $(_v)mkdir -p $(OBJROOT)/$(notdir $@) | |
66 | $(_v)mkdir -p $(SYMROOT)/$(notdir $@) | |
67 | $(_v)$(MAKE) -C $(SRCROOT)/$(notdir $@) SRCROOT=$(SRCROOT)/$(notdir $@) DSTROOT=$@ OBJROOT=$(OBJROOT)/$(notdir $@) SYMROOT=$(SYMROOT)/$(notdir $@) SDKROOT=$(SDKROOT) BASEDSTROOT=$(DSTROOT) | |
68 | ||
69 | $(BATS_TARGET): $(TARGETS) | |
70 | $(_v)mkdir -p $@ | |
71 | $(_v)mkdir -p $(OBJROOT)/$(notdir $@) | |
72 | $(_v)mkdir -p $(SYMROOT) | |
73 | $(_v)$(MAKE) -C $(SRCROOT)/$(notdir $@) SRCROOT=$(SRCROOT)/$(notdir $@) DSTROOT=$@ OBJROOT=$(OBJROOT)/$(notdir $@) SDKROOT=$(SDKROOT) BASEDSTROOT=$(DSTROOT) |