XCODEBUILD_ARGS:= -configuration Release -sdk $(SDKROOT) -derivedDataPath . BMALLOC_DIR := $(MALLOCBENCHTEST_DIR)/BMALLOC MALLOC_BENCH_DIR := $(MALLOCBENCHTEST_DIR)/MALLOC_BENCH SCRIPTS_DIR := $(MALLOCBENCHTEST_DIR)/scripts # # It is assumed that we already have the MallocBench and bmalloc sources. The following # targets would fetch them, but they are not used, for now. get_bmalloc: @echo Fetching bmalloc source... -rm -rf $(BMALLOC_DIR) -mkdir -p $(BMALLOC_DIR) cd $(BMALLOC_DIR); \ svn co https://svn.webkit.org/repository/webkit/trunk/Source/bmalloc get_MallocBench: @echo Fetching MallocBench source... -rm -rf $(MALLOC_BENCH_DIR) cd $(MALLOCBENCHTEST_DIR); \ svn co https://svn.webkit.org/repository/webkit/trunk/PerformanceTests/MallocBench MALLOC_BENCH # Make this depend on get_bmalloc if we can find a way to access the SVN servers. build-bmalloc: @echo Making bmalloc... sed -i sv -e '/^#include.*ccache.xcconfig/d' $(BMALLOC_DIR)/bmalloc/Configurations/DebugRelease.xcconfig cd $(BMALLOC_DIR)/bmalloc; \ xcodebuild -scheme mbmalloc $(XCODEBUILD_ARGS); \ cd $(SRCROOT) # Make this depend on get_MallocBench if we can find a way to access the SVN servers. build-MallocBench: @echo Making MallocBench... cd $(MALLOC_BENCH_DIR); \ xcodebuild -scheme mbmalloc $(XCODEBUILD_ARGS); \ xcodebuild -scheme MallocBench $(XCODEBUILD_ARGS); \ cd $(SRCROOT); install-scripts: @echo Installing MallocBench scripts... mkdir -p $(INSTALLDIR)/scripts cp $(SCRIPTS_DIR)/* $(INSTALLDIR)/scripts install-bmalloc: build-bmalloc @echo Installing bmalloc... $(eval B = $(shell \ cd $(BMALLOC_DIR)/bmalloc; \ xcodebuild -scheme mbmalloc $(XCODEBUILD_ARGS) -showBuildSettings \ | grep TARGET_BUILD_DIR | sed -e s':.*= ::'; \ )) mkdir -p $(INSTALLDIR)/bmalloc cp $(B)/libmbmalloc.dylib $(INSTALLDIR)/bmalloc install-MallocBench: build-MallocBench @echo Installing MallocBench... $(eval B = $(shell \ cd $(MALLOC_BENCH_DIR); \ xcodebuild -scheme MallocBench $(XCODEBUILD_ARGS) -showBuildSettings \ | grep TARGET_BUILD_DIR | sed -e s':.*= ::'; \ )) mkdir -p $(INSTALLDIR)/MallocBench cp -R $(B)/* $(INSTALLDIR)/MallocBench codesign --force --sign - --entitlements $(MALLOCBENCHTEST_DIR)/get_task_allow_entitlement.plist $(INSTALLDIR)/MallocBench/MallocBench codesign -d --entitlements - $(INSTALLDIR)/MallocBench/MallocBench clean-bmalloc: -rm -rf $(BMALLOC_DIR)/bmalloc/Logs -rm -rf $(BMALLOC_DIR)/bmalloc/Build -rm -rf $(BMALLOC_DIR)/bmalloc/ModuleCache.noindex -rm -f $(BMALLOC_DIR)/bmalloc/info.plist clean-MallocBench: -rm -rf $(MALLOC_BENCH_DIR)/Logs -rm -rf $(MALLOC_BENCH_DIR)/Build -rm -rf $(MALLOC_BENCH_DIR)/ModuleCache.noindex -rm -f $(MALLOC_BENCH_DIR)/info.plist # Darwintest target extensions clean: clean-bmalloc clean-MallocBench # Targets required by darwintest MALLOC_BENCH: build-bmalloc build-MallocBench install-MALLOC_BENCH: install-scripts install-bmalloc install-MallocBench