Makefile   [plain text]


ifdef RC_ProjectName
DSTSUBPATH = $(DSTROOT)/AppleInternal/CoreOS
else
DSTSUBPATH = $(DSTROOT)
endif

OBJROOT?=$(shell /bin/pwd)

SDKROOT ?= macosx.internal

# SDKROOT may be passed as a shorthand like "iphoneos.internal". We
# must resolve these to a full path and override SDKROOT.

SDKROOT_RESOLVED := $(shell xcrun -sdk $(SDKROOT) -show-sdk-path)
ifeq ($(strip $(SDKROOT)_$(SDKROOT_RESOLVED)),/_)
SDKROOT_RESOLVED := /
endif
override SDKROOT = $(SDKROOT_RESOLVED)


ifeq "$(RC_TARGET_CONFIG)" "iPhone"
Embedded?=YES
else
Embedded?=$(shell echo $(SDKROOT) | grep -iq iphoneos && echo YES || echo NO)
endif

COMMON_TARGETS = xnu_quick_test		\
		MPMMTest		\
		affinity		\
		execperf		\
		kqueue_tests		\
		superpages		\
		zero-to-n		\
		jitter			\
		perf_index		\
		unit_tests

IPHONE_TARGETS = memorystatus

MAC_TARGETS = 

ifeq "$(Embedded)" "YES"
TARGETS = 	$(addprefix $(DSTSUBPATH)/, $(COMMON_TARGETS) $(IPHONE_TARGETS))
else
TARGETS = 	$(addprefix $(DSTSUBPATH)/, $(COMMON_TARGETS) $(MAC_TARGETS))
endif

all:	$(TARGETS)

$(DSTSUBPATH)/%:
	mkdir -p $@
	mkdir -p $(OBJROOT)/$(notdir $@) 
	$(MAKE) -C $(SRCROOT)/$(notdir $@) SRCROOT=$(SRCROOT)/$(notdir $@) DSTROOT=$@ OBJROOT=$(OBJROOT)/$(notdir $@) SDKROOT=$(SDKROOT)