# ********************************************************************** # # Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved. # # This copy of Ice is licensed to you under the terms described in the # ICE_LICENSE file included in this distribution. # # ********************************************************************** # # Xcode configuration to build Xcode sdks for Ice. # xcodesdk_objdir = static xcodesdk_cppflags = $(static_cppflags) xcodesdk_ldflags = $(static_ldflags) # # $(call make-xcodesdk,$1=translator) # define make-xcodesdk $(install_sdkdir)/%.sdk/SDKSettings.plist $(top_srcdir)/sdk/%.sdk/SDKSettings.plist: \ $(top_srcdir)/config/%-SDKSettings.plist $(Q)$(MKDIR) -p $$(@D) $(Q)$(INSTALL) $$< $$@ srcs all:: $$(foreach p,$$(platforms),$(top_srcdir)/sdk/$$p.sdk/SDKSettings.plist) install:: $$(foreach p,$$(platforms),$(install_sdkdir)/$$p.sdk/SDKSettings.plist) endef # # $(call make-xcodesdk-component-with-config,$1=project,$2=component,$3=platform,$4=config,$5=comp[platform-config]) # define make-xcodesdk-component-with-config ifneq ($(filter-out $(sdk_includedirs),$3-$2),) sdk_includedirs += $3-$2 $$(eval $$(call install-data-files,$$(wildcard $$($2_includedir)/*.h),include,\ $(top_srcdir)/sdk/$3.sdk/usr/include,$5)) $$(eval $$(call install-data-files,$$(filter include/generated/%,$$($2_generated_headers)),include/generated,\ $(top_srcdir)/sdk/$3.sdk/usr/include,$5)) $$(eval $$(call install-data-files,$$(wildcard $$($2_includedir)/*.h),include,\ $(install_sdkdir)/$3.sdk/usr/include,$5_install)) $$(eval $$(call install-data-files,$$(filter include/generated/%,$$($2_generated_headers)),include/generated,\ $(install_sdkdir)/$3.sdk/usr/include,$5_install)) endif endef # # $(call make-xcode-project-with-config,$1=project,$2=platform,$3=config) # define make-xcode-project-with-config $1[$2-$3]: $$($1_dependencies) $(E) "Running xcodebuild for $1 scheme=\"$$(call $1_scheme,$2,$3)\"" $(Q)xcodebuild -sdk $2 \ -project "$1/$$(call $1_project,$2,$3)" \ -configuration "$$(call $1_configuration,$2,$3)" \ -scheme "$$(call $1_scheme,$2,$3)" \ $(if $(ICE_BIN_DIST),ADDITIONAL_SDKS=$(sdkdir)/$2.sdk) \ $(if $(V),,-quiet) SYMROOT=./build \ clean build $1[$2-$3]_clean: $(E) "Cleaning $1" $(Q)xcodebuild -sdk $2 \ -project "$1/$$(call $1_project,$2,$3)" \ -configuration "$$(call $1_configuration,$2,$3)" \ -scheme "$$(call $1_scheme,$2,$3)" \ $(if $(V),,-quiet) SYMROOT=./build \ clean $1:: $1[$2-$3] $1_clean:: $1[$2-$3]_clean endef # # $(call create-xcode-project-targets,$1=project) # define create-xcode-project-targets endef # # $(call make-xcode-project,$1=project) # define make-xcode-project # # Define per- rules for this component. # $$(foreach p,$$(filter $(platforms),$$($1_platforms)),\ $$(foreach c,$$(filter $$(or $$($$p_configs),%),$$(filter $(configs),$$($1_configs))),\ $$(if $$(filter $(SKIP),$1[$$p-$$c]),,\ $$(eval $$(call make-xcode-project-with-config,$1,$$p,$$c,$1[$$p-$$c]))))) $1:: $1_clean:: $1_distclean:: $(Q)$(RM) -r $1/build all:: $1 clean:: $1_clean distclean:: $1_distclean endef