Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'GNUmakefile')
-rw-r--r--GNUmakefile37
1 files changed, 29 insertions, 8 deletions
diff --git a/GNUmakefile b/GNUmakefile
index 86964e68873..d1e575cfc3c 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -43,6 +43,11 @@ ifndef BUILD_DIR
BUILD_DIR:=$(shell dirname "$(BLENDER_DIR)")/build_$(OS_NCASE)
endif
+# Dependencies DIR's
+DEPS_SOURCE_DIR:=$(BLENDER_DIR)/build_files/build_environment
+DEPS_BUILD_DIR:=$(BUILD_DIR)/deps
+DEPS_INSTALL_DIR:=$(shell dirname "$(BLENDER_DIR)")/lib/$(OS_NCASE)
+
# Allow to use alternative binary (pypy3, etc)
ifndef PYTHON
PYTHON:=python3
@@ -86,13 +91,7 @@ ifndef NPROCS
ifeq ($(OS), Linux)
NPROCS:=$(shell nproc)
endif
- ifeq ($(OS), Darwin)
- NPROCS:=$(shell sysctl -n hw.ncpu)
- endif
- ifeq ($(OS), FreeBSD)
- NPROCS:=$(shell sysctl -n hw.ncpu)
- endif
- ifeq ($(OS), NetBSD)
+ ifneq (,$(filter $(OS),Darwin FreeBSD NetBSD))
NPROCS:=$(shell sysctl -n hw.ncpu)
endif
endif
@@ -104,7 +103,7 @@ endif
CMAKE_CONFIG = cmake $(BUILD_CMAKE_ARGS) \
-H"$(BLENDER_DIR)" \
-B"$(BUILD_DIR)" \
- -DCMAKE_BUILD_TYPE:STRING=$(BUILD_TYPE)
+ -DCMAKE_BUILD_TYPE_INIT:STRING=$(BUILD_TYPE)
# -----------------------------------------------------------------------------
@@ -146,6 +145,27 @@ cycles: all
headless: all
bpy: all
+# -----------------------------------------------------------------------------
+# Build dependencies
+DEPS_TARGET = install
+ifneq "$(findstring clean, $(MAKECMDGOALS))" ""
+ DEPS_TARGET = clean
+endif
+
+deps: .FORCE
+ @echo
+ @echo Configuring dependencies in \"$(DEPS_BUILD_DIR)\"
+
+ @cmake -H"$(DEPS_SOURCE_DIR)" \
+ -B"$(DEPS_BUILD_DIR)" \
+ -DHARVEST_TARGET=$(DEPS_INSTALL_DIR)
+
+ @echo
+ @echo Building dependencies ...
+ $(MAKE) -C "$(DEPS_BUILD_DIR)" -s -j $(NPROCS) $(DEPS_TARGET)
+ @echo
+ @echo Dependencies successfully built and installed to $(DEPS_INSTALL_DIR).
+ @echo
# -----------------------------------------------------------------------------
# Configuration (save some cd'ing around)
@@ -164,6 +184,7 @@ help: .FORCE
@echo " * headless - build without an interface (renderfarm or server automation)"
@echo " * cycles - build Cycles standalone only, without Blender"
@echo " * bpy - build as a python module which can be loaded from python directly"
+ @echo " * deps - build library dependencies (intended only for platform maintainers)"
@echo ""
@echo " * config - run cmake configuration tool to set build options"
@echo ""