1 include Makefile.common
4 export SRCROOT := $(shell /bin/pwd)
7 export OBJROOT = $(SRCROOT)/BUILD/obj
10 export DSTROOT = $(SRCROOT)/BUILD/dst
13 export SYMROOT = $(SRCROOT)/BUILD/sym
17 DSTSUBPATH = $(DSTROOT)/AppleInternal/CoreOS/tests/xnu
18 BATS_CONFIG_PATH = $(DSTROOT)/AppleInternal/CoreOS
20 DSTSUBPATH = $(DSTROOT)
21 BATS_CONFIG_PATH = $(DSTROOT)
24 COMMON_TARGETS = unit_tests \
40 BATS_TARGET = $(BATS_CONFIG_PATH)/BATS
42 ifeq "$(Embedded)" "YES"
43 TARGETS = $(addprefix $(DSTSUBPATH)/, $(COMMON_TARGETS) $(IPHONE_TARGETS))
45 TARGETS = $(addprefix $(DSTSUBPATH)/, $(COMMON_TARGETS) $(MAC_TARGETS))
48 all: $(BATS_TARGET) $(TARGETS)
54 # NOTE: RC_ARCHES nonsense is here because code signing will fail on kexts if we include a i386 slice
55 # <rdar://problem/29878263> CoreOSLobo: xnu_tests-4026 fails to codesign
57 $(DSTSUBPATH)/testkext/pgokext.kext: always
58 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
60 $(DSTSUBPATH)/%: always
63 $(_v)mkdir -p $(OBJROOT)/$(notdir $@)
64 $(_v)mkdir -p $(SYMROOT)/$(notdir $@)
65 $(_v)$(MAKE) -C $(SRCROOT)/$(notdir $@) SRCROOT=$(SRCROOT)/$(notdir $@) DSTROOT=$@ OBJROOT=$(OBJROOT)/$(notdir $@) SYMROOT=$(SYMROOT)/$(notdir $@) SDKROOT=$(SDKROOT) BASEDSTROOT=$(DSTROOT)
66 $(_v)find $@ -type d -name "*.dSYM" -exec cp -a {} $(SYMROOT)/ ';'
68 $(BATS_TARGET): $(TARGETS)
70 $(_v)mkdir -p $(OBJROOT)/$(notdir $@)
71 $(_v)mkdir -p $(SYMROOT)
72 $(_v)$(MAKE) -C $(SRCROOT)/$(notdir $@) SRCROOT=$(SRCROOT)/$(notdir $@) DSTROOT=$@ OBJROOT=$(OBJROOT)/$(notdir $@) SDKROOT=$(SDKROOT) BASEDSTROOT=$(DSTROOT) BASEDSTSUBPATH=$(DSTSUBPATH)