]> git.saurik.com Git - apple/xnu.git/blobdiff - tools/tests/Makefile
xnu-7195.101.1.tar.gz
[apple/xnu.git] / tools / tests / Makefile
index 7a2093aa2d4bee2207454a845432ce59b64a68e8..a385e3dbb90bb1edd41d29ffd2f83384a6d06849 100644 (file)
@@ -21,33 +21,56 @@ DSTSUBPATH = $(DSTROOT)
 BATS_CONFIG_PATH = $(DSTROOT)
 endif
 
+DSTSUBPATH_KEXTS = $(DSTROOT)/System/AppleInternal/Library/AuxiliaryExtensions
+
 COMMON_TARGETS = unit_tests \
                MPMMTest                \
+               packetdrill             \
                affinity                \
-               execperf                \
-               kqueue_tests            \
                superpages              \
                zero-to-n               \
                jitter                  \
-               perf_index
+               perf_index              \
+               personas                \
+               unixconf                \
+               kernpost_test_report \
 
-IPHONE_TARGETS = 
+KEXT_TARGETS = pgokext.kext
 
-MAC_TARGETS = 
+IPHONE_TARGETS =
 
+MAC_TARGETS =
 
 BATS_TARGET = $(BATS_CONFIG_PATH)/BATS
 
 ifeq "$(Embedded)" "YES"
-TARGETS =      $(addprefix $(DSTSUBPATH)/, $(COMMON_TARGETS) $(IPHONE_TARGETS))
+TARGETS =      $(addprefix $(DSTSUBPATH)/, $(COMMON_TARGETS) $(IPHONE_TARGETS)) $(addprefix $(DSTSUBPATH_KEXTS)/, $(KEXT_TARGETS))
 else
-TARGETS =      $(addprefix $(DSTSUBPATH)/, $(COMMON_TARGETS) $(MAC_TARGETS))
+TARGETS =      $(addprefix $(DSTSUBPATH)/, $(COMMON_TARGETS) $(MAC_TARGETS)) $(addprefix $(DSTSUBPATH_KEXTS)/, $(KEXT_TARGETS))
 endif
 
 all:   $(BATS_TARGET) $(TARGETS)
 
-$(BATS_TARGET) $(DSTSUBPATH)/%:
-       mkdir -p $@
-       mkdir -p $(OBJROOT)/$(notdir $@) 
-       mkdir -p $(SYMROOT)
-       $(MAKE) -C $(SRCROOT)/$(notdir $@) SRCROOT=$(SRCROOT)/$(notdir $@) DSTROOT=$@ OBJROOT=$(OBJROOT)/$(notdir $@) SDKROOT=$(SDKROOT)
+.PHONY: always
+
+always:
+
+# NOTE: RC_ARCHES nonsense is here because code signing will fail on kexts if we include a i386 slice
+# <rdar://problem/29878263> CoreOSLobo: xnu_tests-4026 fails to codesign
+
+$(DSTSUBPATH_KEXTS)/pgokext.kext: always
+       xcodebuild -configuration Debug -project $(SRCROOT)/testkext/testkext.xcodeproj -target pgokext DSTROOT=$(DSTSUBPATH_KEXTS) SYMROOT=$(SYMROOT)/testkext SRCROOT=$(SRCROOT)/testkext OBJROOT=$(OBJROOT)/testkext SDKROOT=$(SDKROOT) RC_ARCHS="$(subst i386,,$(RC_ARCHS))" install
+
+$(DSTSUBPATH)/%: always
+       $(_v)echo Building $@
+       $(_v)mkdir -p $@
+       $(_v)mkdir -p $(OBJROOT)/$(notdir $@)
+       $(_v)mkdir -p $(SYMROOT)/$(notdir $@)
+       $(_v)$(MAKE) -C $(SRCROOT)/$(notdir $@) SRCROOT=$(SRCROOT)/$(notdir $@) DSTROOT=$@ OBJROOT=$(OBJROOT)/$(notdir $@) SYMROOT=$(SYMROOT)/$(notdir $@) SDKROOT=$(SDKROOT) BASEDSTROOT=$(DSTROOT)
+       $(_v)find $@ -type d -name "*.dSYM" -exec cp -a {} $(SYMROOT)/ ';'
+
+$(BATS_TARGET): $(TARGETS)
+       $(_v)mkdir -p $@
+       $(_v)mkdir -p $(OBJROOT)/$(notdir $@)
+       $(_v)mkdir -p $(SYMROOT)
+       $(_v)$(MAKE) -C $(SRCROOT)/$(notdir $@) SRCROOT=$(SRCROOT)/$(notdir $@) DSTROOT=$@ OBJROOT=$(OBJROOT)/$(notdir $@) SDKROOT=$(SDKROOT) BASEDSTROOT=$(DSTROOT) BASEDSTSUBPATH=$(DSTSUBPATH)