blender/GNUmakefile
Brecht Van Lommel bcee2343ea Mac OS X cmake changes and bundle fixes
For cmake users, you should now use "make install" instead of "make". This was
already changed for Linux and Windows. Same for Xcode, use the install target.

Changes:
* CMake install mechanism, resulting bundle was verified to be indentical here.
* For cmake, include Info.plist in bundle using builtin mechanism for that.
  There was some code in packaging.cmake, but it wasn't correct as these
  properties need to be set on the executable.
* For scons, fix app bundle version, was still using removed release/VERSION.
* Remove unused blendercreator.app and blenderpublisher.app.
* Fix Info.plist being set as a binary file in svn, should be plain text.
2011-03-16 15:44:17 +00:00

101 lines
2.6 KiB
Makefile

# -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*-
# vim: tabstop=8
# $Id$
#
# ##### BEGIN GPL LICENSE BLOCK #####
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####
# This Makefile does an out-of-source CMake build in ../build/`OS`_`CPU`
# eg:
# ../build/Linux_i386
# This is for users who like to configure & build blender with a single command.
# System Vars
OS:=$(shell uname -s)
OS_NCASE:=$(shell uname -s | tr '[A-Z]' '[a-z]')
# CPU:=$(shell uname -m) # UNUSED
# Source and Build DIR's
BLENDER_DIR:=$(shell pwd -P)
BUILD_DIR:=$(shell dirname $(BLENDER_DIR))/build/$(OS_NCASE)
# support 'make debug'
ifneq "$(findstring debug, $(MAKECMDGOALS))" ""
BUILD_DIR:=$(BUILD_DIR)_debug
BUILD_TYPE:=Debug
else
BUILD_TYPE:=Release
endif
# Get the number of cores for threaded build
NPROCS:=1
ifeq ($(OS), Linux)
NPROCS:=$(shell grep -c ^processor /proc/cpuinfo)
endif
ifeq ($(OS), Darwin)
NPROCS:=$(shell sysctl -a | grep "hw.ncpu " | cut -d" " -f3)
endif
ifeq ($(OS), FreeBSD)
NPROCS:=$(shell sysctl -a | grep "hw.ncpu " | cut -d" " -f3 )
endif
ifeq ($(OS), NetBSD)
NPROCS:=$(shell sysctl -a | grep "hw.ncpu " | cut -d" " -f3 )
endif
# Build Blender
all:
@echo
@echo Configuring Blender ...
if test ! -f $(BUILD_DIR)/CMakeCache.txt ; then \
mkdir -p $(BUILD_DIR) ; \
cd $(BUILD_DIR) ; \
cmake $(BLENDER_DIR) -DCMAKE_BUILD_TYPE:STRING=$(BUILD_TYPE) ; \
fi
@echo
@echo Building Blender ...
cd $(BUILD_DIR) ; make -s -j $(NPROCS) install
@echo
@echo run blender from "$(BUILD_DIR)/bin/blender"
@echo
debug: all
# pass
# package types
package_debian:
cd build_files/package_spec ; DEB_BUILD_OPTIONS="parallel=$(NPROCS)" sh ./build_debian.sh
package_pacman:
cd build_files/package_spec/pacman ; MAKEFLAGS="-j$(NPROCS)" makepkg --asroot
# forward build targets
test:
cd $(BUILD_DIR) ; ctest . --output-on-failure
clean:
cd $(BUILD_DIR) ; make clean
.PHONY: all