Imported Upstream version 4.2.0.179

Former-commit-id: 0a113cb3a6feb7873f632839b1307cc6033cd595
This commit is contained in:
Xamarin Public Jenkins
2015-08-26 07:17:56 -04:00
committed by Jo Shields
parent 183bba2c9a
commit 6992685b86
7507 changed files with 90259 additions and 657307 deletions

View File

@@ -28,7 +28,7 @@ ifndef BUILD_TOOLS_PROFILE
BUILD_TOOLS_PROFILE = build
endif
USE_MCS_FLAGS = /codepage:$(CODEPAGE) $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS) $(MCS_FLAGS) $(MCS_FLAGS_INTERNAL)
USE_MCS_FLAGS = /codepage:$(CODEPAGE) $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS) $(MCS_FLAGS)
USE_MBAS_FLAGS = /codepage:$(CODEPAGE) $(LOCAL_MBAS_FLAGS) $(PLATFORM_MBAS_FLAGS) $(PROFILE_MBAS_FLAGS) $(MBAS_FLAGS)
USE_CFLAGS = $(LOCAL_CFLAGS) $(CFLAGS) $(CPPFLAGS)
CSCOMPILE = $(Q_MCS) $(MCS) $(USE_MCS_FLAGS)
@@ -156,6 +156,12 @@ ifndef PROFILE_SUBDIRS
PROFILE_SUBDIRS = $(SUBDIRS)
endif
# These subdirs can be built in parallel
PROFILE_PARALLEL_SUBDIRS := $($(PROFILE)_PARALLEL_SUBDIRS)
ifndef PROFILE_PARALLEL_SUBDIRS
PROFILE_PARALLEL_SUBDIRS = $(PARALLEL_SUBDIRS)
endif
ifndef FRAMEWORK_VERSION_MAJOR
FRAMEWORK_VERSION_MAJOR = $(basename $(FRAMEWORK_VERSION))
endif
@@ -167,8 +173,57 @@ endif
list='$(PROFILE_SUBDIRS)'; for d in $$list ; do \
(cd $$d && $(MAKE) $*) || { final_exit="exit 1"; $$dk; } ; \
done; \
if [ $* = "all" -a -n "$(PROFILE_PARALLEL_SUBDIRS)" ]; then \
$(MAKE) do-all-parallel ENABLE_PARALLEL_SUBDIR_BUILD=1 || { final_exit="exit 1"; $$dk; } ; \
else \
list='$(PROFILE_PARALLEL_SUBDIRS)'; for d in $$list ; do \
(cd $$d && $(MAKE) $*) || { final_exit="exit 1"; $$dk; } ; \
done; \
fi; \
$$final_exit
#
# Parallel build support
#
# The variable $(PROFILE)_PARALLEL_SUBDIRS should be set to the list of directories
# which could be built in parallel. These directories are built after the directories in
# $(PROFILE)_SUBDIRS.
# Parallel building is currently only supported for the 'all' target.
#
# Each directory's Makefile may define DEP_LIBS and DEP_DIRS to specify the libraries and
# directories it depends on.
#
ifneq ($(PROFILE_PARALLEL_SUBDIRS),)
dep_dirs = .dep_dirs-$(PROFILE)
$(dep_dirs):
@echo "Creating $@..."
list='$(PROFILE_PARALLEL_SUBDIRS)'; \
echo > $@; \
for d in $$list; do \
$(MAKE) -C $$d gen-deps DEPS_TARGET_DIR=$$d DEPS_FILE=$(abspath $@); \
done
-include $(dep_dirs)
endif
.PHONY: gen-deps
# The gen-deps target is in library.make/executable.make so it can pick up
# DEP_LIBS/DEP_DIRS
clean-dep-dir:
$(RM) $(dep_dirs)
clean-local: clean-dep-dir
ifdef ENABLE_PARALLEL_SUBDIR_BUILD
.PHONY: do-all-parallel $(PROFILE_PARALLEL_SUBDIRS)
do-all-parallel: $(PROFILE_PARALLEL_SUBDIRS)
$(PROFILE_PARALLEL_SUBDIRS):
@set . $$MAKEFLAGS; \
cd $@ && $(MAKE)
endif
ifndef DIST_SUBDIRS
DIST_SUBDIRS = $(SUBDIRS) $(DIST_ONLY_SUBDIRS)
endif