diff options
Diffstat (limited to 'GNUmakefile')
-rw-r--r-- | GNUmakefile | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/GNUmakefile b/GNUmakefile index ba7f89c3097..1143ac6e1f1 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 @@ -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 "" @@ -398,10 +419,16 @@ icons: .FORCE "$(BLENDER_DIR)/release/datafiles/prvicons_update.py" update: .FORCE + if [ "$(OS_NCASE)" == "darwin" ] && [ ! -d "../lib/$(OS_NCASE)" ]; then \ + svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/$(OS_NCASE) ../lib/$(OS_NCASE) ; \ + fi if [ -d "../lib" ]; then \ + svn cleanup ../lib/* ; \ svn update ../lib/* ; \ fi git pull --rebase + git submodule update --init --recursive + git submodule foreach git checkout master git submodule foreach git pull --rebase origin master |