xamarin-macios/mk/xamarin.mk

88 строки
3.2 KiB
Makefile
Исходник Обычный вид История

ifdef ENABLE_XAMARIN
NEEDED_MACCORE_VERSION := b35c3a8d7682c8482c7c749d7c1670b3d4bbed5c
2017-03-22 16:11:51 +03:00
NEEDED_MACCORE_BRANCH := master
MACCORE_DIRECTORY := maccore
2017-03-22 16:11:51 +03:00
MACCORE_MODULE := git@github.com:xamarin/maccore.git
MACCORE_VERSION := $(shell cd $(MACCORE_PATH) 2> /dev/null && git rev-parse HEAD 2> /dev/null)
MACCORE_BRANCH := $(shell cd $(MACCORE_PATH) 2> /dev/null && git symbolic-ref --short HEAD 2> /dev/null)
define CheckVersionTemplate
check-$(1)::
@rm -f $(THISDIR)/.stamp-reset-$(1)
@if test x$$(IGNORE_$(2)_VERSION) = "x"; then \
if test ! -d $($(2)_PATH); then \
if test x$$(RESET_VERSIONS) != "x"; then \
make reset-$(1) || exit 1; \
else \
echo "Your $(1) checkout is $(COLOR_RED)missing$(COLOR_CLEAR), please run 'make reset-$(1)'"; \
touch .check-versions-failure; \
fi; \
else \
if test "x$($(2)_VERSION)" != "x$(NEEDED_$(2)_VERSION)" ; then \
if test x$$(RESET_VERSIONS) != "x"; then \
make reset-$(1) || exit 1; \
else \
echo "Your $(1) version is $(COLOR_RED)out of date$(COLOR_CLEAR), please run 'make reset-$(1)' (found $($(2)_VERSION), expected $(NEEDED_$(2)_VERSION)). Alternatively export IGNORE_$(2)_VERSION=1 to skip this check."; \
test -z "$(BUILD_REVISION)" || $(MAKE) test-$(1); \
touch .check-versions-failure; \
fi; \
elif test "x$($(2)_BRANCH)" != "x$(NEEDED_$(2)_BRANCH)" ; then \
if test x$$(RESET_VERSIONS) != "x"; then \
test -z "$(BUILD_REVISION)" || $(MAKE) test-$(1); \
make reset-$(1) || exit 1; \
else \
echo "Your $(1) branch is $(COLOR_RED)out of date$(COLOR_CLEAR), please run 'make reset-$(1)' (found $($(2)_BRANCH), expected $(NEEDED_$(2)_BRANCH)). Alternatively export IGNORE_$(2)_VERSION=1 to skip this check."; \
touch .check-versions-failure; \
fi; \
else \
echo "$(1) is $(COLOR_GREEN)up-to-date$(COLOR_CLEAR)."; \
fi; \
fi; \
else \
echo "$(1) is $(COLOR_GRAY)ignored$(COLOR_CLEAR)."; \
fi
test-$(1)::
@echo $(1)
@echo " $(2)_DIRECTORY=$($(2)_DIRECTORY)"
@echo " $(2)_MODULE=$($(2)_MODULE)"
@echo " NEEDED_$(2)_VERSION=$(NEEDED_$(2)_VERSION)"
@echo " $(2)_VERSION=$($(2)_VERSION)"
@echo " NEEDED_$(2)_BRANCH=$(NEEDED_$(2)_BRANCH)"
@echo " $(2)_BRANCH=$($(2)_BRANCH)"
@echo " $(2)_PATH=$($(2)_PATH) => $(abspath $($(2)_PATH))"
reset-$(1)::
$(Q) \
DEPENDENCY_PATH=$($(2)_PATH) \
DEPENDENCY_MODULE=$($(2)_MODULE) \
DEPENDENCY_HASH=$(NEEDED_$(2)_VERSION) \
DEPENDENCY_BRANCH=$(NEEDED_$(2)_BRANCH) \
DEPENDENCY_DIRECTORY=$($(2)_DIRECTORY) \
DEPENDENCY_IGNORE_VERSION=$(IGNORE_$(2)_VERSION) \
$(TOP)/mk/xamarin-reset.sh $(1)
@touch $(THISDIR)/.stamp-reset-$(1)
print-$(1)::
Fix print-versions for README dependencies. (#4058) Before: $ make print-versions *** mono git@github.com:mono/mono.git a0228295dcef711f8bbbf4f6f619c194e109c0e6 (2018-02) *** fsharp git@github.com:fsharp/fsharp.git 7171700877115e2243b4edbc4e2eb88d019e02b0 (master) *** Touch.Unit git@github.com:spouliot/Touch.Unit.git 1c41c75983ed840e9dc7079b5d4b0c31d1565359 (master) *** opentk git@github.com:mono/opentk.git 396bc90c7ac2e7ce442840a5e8bd91e5e79b381e (master) *** Xamarin.MacDev git@github.com:xamarin/Xamarin.MacDev 2cff0d741273341d156de6ce6095808126effd3b (master) *** guiunit git@github.com:mono/guiunit.git 1306b0d420bd69efcd8f1951c5c68dc7065ce9eb () *** macios-binaries git@github.com:xamarin/macios-binaries a4a1ceec883cc47f5eb4d4604fe5fe52d1f662d0 (master) *** 2c1024f96864bf3b01dd8d67b41681c971bc6f71 (master) *** 3cc5e2e1870b35f15b1540f835a370d2b011bacd (master) *** 5abe51d5ea411de51db0f77bed29d6fc7175e177 (master) *** 02098172ce32920646668062f2336220e5fa5927 (master) *** 6d22123db90007453645d8eb7b2edc60f983ad19 (master) *** 2e67714eb622769417aea3f3d449db4a2d020c9e (master) *** 2ccb581a96f4e0120ac47d2ddaa81fe515cb28de (master) After: $ make print-versions *** mono git@github.com:mono/mono.git a0228295dcef711f8bbbf4f6f619c194e109c0e6 (2018-02) *** fsharp git@github.com:fsharp/fsharp.git 7171700877115e2243b4edbc4e2eb88d019e02b0 (master) *** Touch.Unit git@github.com:spouliot/Touch.Unit.git 1c41c75983ed840e9dc7079b5d4b0c31d1565359 (master) *** opentk git@github.com:mono/opentk.git 396bc90c7ac2e7ce442840a5e8bd91e5e79b381e (master) *** Xamarin.MacDev git@github.com:xamarin/Xamarin.MacDev 2cff0d741273341d156de6ce6095808126effd3b (master) *** guiunit git@github.com:mono/guiunit.git 1306b0d420bd69efcd8f1951c5c68dc7065ce9eb () *** macios-binaries git@github.com:xamarin/macios-binaries a4a1ceec883cc47f5eb4d4604fe5fe52d1f662d0 (master) *** maccore git@github.com:xamarin/maccore.git 2c1024f96864bf3b01dd8d67b41681c971bc6f71 (master) *** mono-extensions git@github.com:xamarin/mono-extensions.git 3cc5e2e1870b35f15b1540f835a370d2b011bacd (master) *** ios-api-docs git@github.com:xamarin/ios-api-docs.git 5abe51d5ea411de51db0f77bed29d6fc7175e177 (master) *** mac-api-docs git@github.com:xamarin/mac-api-docs.git 02098172ce32920646668062f2336220e5fa5927 (master) *** maciostools git@github.com:xamarin/maciostools.git 6d22123db90007453645d8eb7b2edc60f983ad19 (master) *** XmlDocSync git@github.com:xamarin/XmlDocSync.git 2e67714eb622769417aea3f3d449db4a2d020c9e (master) *** xamarin-analysis git@github.com:xamarin/xamarin-analysis.git 2ccb581a96f4e0120ac47d2ddaa81fe515cb28de (master)
2018-05-09 16:15:38 +03:00
@printf "*** %-16s %-45s %s (%s)\n" "$($(2)_DIRECTORY)" "$($(2)_MODULE)" "$(NEEDED_$(2)_VERSION)" "$(NEEDED_$(2)_BRANCH)"
.PHONY: check-$(1) reset-$(1) print-$(1)
reset-versions-impl:: reset-$(1)
check-versions:: check-$(1)
print-versions:: print-$(1)
DEPENDENCY_DIRECTORIES += $($(2)_PATH)
endef
$(MACCORE_PATH):
$(Q) git clone --recursive $(MACCORE_MODULE) $(MACCORE_PATH)
$(Q) $(MAKE) reset-maccore
$(eval $(call CheckVersionTemplate,maccore,MACCORE))
-include $(MACCORE_PATH)/mk/versions.mk
$(MACCORE_PATH)/mk/versions.mk: | $(MACCORE_PATH)
endif