# # Copyright (c) ZeroC, Inc. All rights reserved. # top_srcdir := .. include $(top_srcdir)/config/Make.rules CONFIG ?= $(if $(filter $(OPTIMIZE),no),Debug,Release) PROJECT ?= $(if $(filter $(ICE_BIN_DIST), swift all),ice-test.xcodeproj,ice.xcodeproj) # $(call make-xcodebuild-rule,$1=rule,$2=platform,$3=scheme,$4=target) define make-xcodebuild-rule $1:: $(PROJECT) xcodebuild -project $(PROJECT) \ -xcconfig buildsettings.xcconfig \ -scheme "$3 $(if $(filter $2,macosx),macOS,iOS)" \ -configuration $(CONFIG) \ -sdk $2 $4 endef ice.xcodeproj: Rakefile | carthage rake icesdistproj ice-test.xcodeproj: Rakefile | carthage rake icebdistproj all:: tests carthage: $(Q)cd .. && ./swift/carthage.sh bootstrap --cache-builds tests srcs:: carthage install:: @echo nothing to install project: @echo Project is $(PROJECT) $(foreach p,$(platforms),$(eval $(call make-xcodebuild-rule,srcs,$p,Ice,build))) $(foreach p,$(platforms),$(eval $(call make-xcodebuild-rule,tests,$p,TestDriver,build))) $(foreach p,$(platforms),$(eval $(call make-xcodebuild-rule,clean,$p,Ice,clean))) $(foreach p,$(platforms),$(eval $(call make-xcodebuild-rule,clean,$p,TestDriver,clean))) $(foreach p,$(supported-platforms),$(eval $(call make-xcodebuild-rule,distclean,$p,Ice,clean))) $(foreach p,$(supported-platforms),$(eval $(call make-xcodebuild-rule,distclean,$p,TestDriver,clean))) test:: @python ./allTests.py --config $(CONFIG)