1ifdef RC_ProjectName 2DSTSUBPATH = $(DSTROOT)/AppleInternal/CoreOS 3else 4DSTSUBPATH = $(DSTROOT) 5endif 6 7OBJROOT?=$(shell /bin/pwd) 8 9SDKROOT ?= macosx.internal 10 11# SDKROOT may be passed as a shorthand like "iphoneos.internal". We 12# must resolve these to a full path and override SDKROOT. 13 14SDKROOT_RESOLVED := $(shell xcrun -sdk $(SDKROOT) -show-sdk-path) 15ifeq ($(strip $(SDKROOT)_$(SDKROOT_RESOLVED)),/_) 16SDKROOT_RESOLVED := / 17endif 18override SDKROOT = $(SDKROOT_RESOLVED) 19 20 21ifeq "$(RC_TARGET_CONFIG)" "iPhone" 22Embedded?=YES 23else 24Embedded?=$(shell echo $(SDKROOT) | grep -iq iphoneos && echo YES || echo NO) 25endif 26 27COMMON_TARGETS = xnu_quick_test \ 28 MPMMTest \ 29 affinity \ 30 execperf \ 31 kqueue_tests \ 32 superpages \ 33 zero-to-n \ 34 jitter \ 35 perf_index \ 36 unit_tests 37 38IPHONE_TARGETS = memorystatus 39 40MAC_TARGETS = 41 42ifeq "$(Embedded)" "YES" 43TARGETS = $(addprefix $(DSTSUBPATH)/, $(COMMON_TARGETS) $(IPHONE_TARGETS)) 44else 45TARGETS = $(addprefix $(DSTSUBPATH)/, $(COMMON_TARGETS) $(MAC_TARGETS)) 46endif 47 48all: $(TARGETS) 49 50$(DSTSUBPATH)/%: 51 mkdir -p $@ 52 mkdir -p $(OBJROOT)/$(notdir $@) 53 $(MAKE) -C $(SRCROOT)/$(notdir $@) SRCROOT=$(SRCROOT)/$(notdir $@) DSTROOT=$@ OBJROOT=$(OBJROOT)/$(notdir $@) SDKROOT=$(SDKROOT) 54