forked from bartvdbraak/blender
b119ce5fcc
Blender too now! :) ** Drag works as follows: - drag-able items are defined by the standard interface ui toolkit - each button can get this feature, via uiButSetDragXXX(but, ...). There are calls to define drag-able images, ID blocks, RNA paths, file paths, and so on. By default you drag an icon, exceptionally an ImBuf - Drag items are registered centrally in the WM, it allows more drag items simultaneous too, but not implemented ** Drop works as follows: - On mouse release, and if drag items exist in the WM, it converts the mouse event to an EVT_DROP type. This event then gets the full drag info as customdata - drop regions are defined with WM_dropbox_add(), similar to keymaps you can make a "drop map" this way, which become 'drop map handlers' in the queues. - next to that the UI kit handles some common button types (like accepting ID or names) to be catching a drop event too. - Every "drop box" has two callbacks: - poll() = check if the event drag data is relevant for this box - copy() = fill in custom properties in the dropbox to initialize an operator - The dropbox handler then calls its standard Operator with its dropbox properties. ** Currently implemented Drag items: - ID icons in browse buttons - ID icons in context menu of properties region - ID icons in outliner and rna viewer - FileBrowser icons - FileBrowser preview images Drag-able icons are subtly visualized by making them brighter a bit on mouse-over. In case the icon is a button or UI element too (most cases), the drag-able feature will make the item react to mouse-release instead of mouse-press. Drop options: - UI buttons: ID and text buttons (paste name) - View3d: Object ID drop copies object - View3d: Material ID drop assigns to object under cursor - View3d: Image ID drop assigns to object UV texture under cursor - Sequencer: Path drop will add either Image or Movie strip - Image window: Path drop will open image ** Drag and drop Notes: - Dropping into another Blender window (from same application) works too. I've added code that passes on mousemoves and clicks to other windows, without activating them though. This does make using multi-window Blender a bit friendler. - Dropping a file path to an image, is not the same as dropping an Image ID... keep this in mind. Sequencer for example wants paths to be dropped, textures in 3d window wants an Image ID. - Although drop boxes could be defined via Python, I suggest they're part of the UI and editor design (= how we want an editor to work), and not default offered configurable like keymaps. - At the moment only one item can be dragged at a time. This is for several reasons.... For one, Blender doesn't have a well defined uniform way to define "what is selected" (files, outliner items, etc). Secondly there's potential conflicts on what todo when you drop mixed drag sets on spots. All undefined stuff... nice for later. - Example to bypass the above: a collection of images that form a strip, should be represented in filewindow as a single sequence anyway. This then will fit well and gets handled neatly by design. - Another option to check is to allow multiple options per drop... it could show the operator as a sort of menu, allowing arrow or scrollwheel to choose. For time being I'd prefer to try to design a singular drop though, just offer only one drop action per data type on given spots. - What does work already, but a tad slow, is to use a function that detects an object (type) under cursor, so a drag item's option can be further refined (like drop object on object = parent). (disabled) ** More notes - Added saving for Region layouts (like split points for toolbar) - Label buttons now handle mouse over - File list: added full path entry for drop feature. - Filesel bugfix: wm_operator_exec() got called there and fully handled, while WM event code tried same. Added new OPERATOR_HANDLED flag for this. Maybe python needs it too? - Cocoa: added window move event, so multi-win setups work OK (didnt save). - Interface_handlers.c: removed win->active - Severe area copy bug: area handlers were not set to NULL - Filesel bugfix: next/prev folder list was not copied on area copies ** Leftover todos - Cocoa windows seem to hang on cases still... needs check - Cocoa 'draw overlap' swap doesn't work - Cocoa window loses focus permanently on using Spotlight (for these reasons, makefile building has Carbon as default atm) - ListView templates in UI cannot become dragged yet, needs review... it consists of two overlapping UI elements, preventing handling icon clicks. - There's already Ghost library code to handle dropping from OS into Blender window. I've noticed this code is unfinished for Macs, but seems to be complete for Windows. Needs test... currently, an external drop event will print in console when succesfully delivered to Blender's WM.
627 lines
24 KiB
Makefile
627 lines
24 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
#
|
|
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
# All rights reserved.
|
|
#
|
|
# The Original Code is: all of this file.
|
|
#
|
|
# Contributor(s): GSR, Stefan Gartner
|
|
#
|
|
# ***** END GPL LICENSE BLOCK *****
|
|
#
|
|
# set some defaults when these are not overruled (?=) by environment variables
|
|
#
|
|
|
|
sinclude ../user-def.mk
|
|
|
|
# This warning only takes place once in source/
|
|
ifeq (debug, $(findstring debug, $(MAKECMDGOALS)))
|
|
ifeq (all, $(findstring all, $(MAKECMDGOALS)))
|
|
export ERRTXT = "ERROR: all and debug targets cannot be used together anymore"
|
|
export ERRTXT += "Use something like ..make all && make debug.. instead"
|
|
endif
|
|
endif
|
|
|
|
ifdef ERRTXT
|
|
$(error $(ERRTXT))
|
|
endif
|
|
|
|
ifndef CONFIG_GUESS
|
|
ifeq (debug, $(findstring debug, $(MAKECMDGOALS)))
|
|
export DEBUG_DIR = debug/
|
|
export ALL_OR_DEBUG = debug
|
|
endif
|
|
ifeq (all, $(findstring all, $(MAKECMDGOALS)))
|
|
export ALL_OR_DEBUG ?= all
|
|
endif
|
|
|
|
# First generic defaults for all platforms which should be constant.
|
|
# Note: ?= lets these defaults be overruled by environment variables,
|
|
export SRCHOME ?= $(NANBLENDERHOME)/source
|
|
export CONFIG_GUESS := $(shell ${SRCHOME}/tools/guess/guessconfig)
|
|
export OS := $(shell echo ${CONFIG_GUESS} | sed -e 's/-.*//')
|
|
export OS_VERSION := $(shell echo ${CONFIG_GUESS} | sed -e 's/^[^-]*-//' -e 's/-[^-]*//')
|
|
export CPU := $(shell echo ${CONFIG_GUESS} | sed -e 's/^[^-]*-[^-]*-//')
|
|
export MAKE_START := $(shell date "+%H:%M:%S %d-%b-%Y")
|
|
export NAN_LIBDIR ?= $(NANBLENDERHOME)/../lib
|
|
export NAN_OBJDIR ?= $(NANBLENDERHOME)/obj
|
|
# Library Config_Guess DIRectory
|
|
export LCGDIR = $(NAN_LIBDIR)/$(CONFIG_GUESS)
|
|
# Object Config_Guess DIRectory
|
|
export OCGDIR = $(NAN_OBJDIR)/$(CONFIG_GUESS)
|
|
|
|
# Determines what targets are built
|
|
export WITH_BF_DYNAMICOPENGL ?= true
|
|
export WITH_BF_STATICOPENGL ?= false
|
|
export WITH_BF_BLENDERGAMEENGINE ?= true
|
|
export WITH_BF_BLENDERPLAYER ?= true
|
|
ifeq ($(NAN_NO_PLUGIN), true)
|
|
export WITH_BF_WEBPLUGIN = false
|
|
else
|
|
export WITH_BF_WEBPLUGIN ?= false
|
|
endif
|
|
|
|
export NAN_MOTO ?= $(LCGDIR)/moto
|
|
export NAN_ITASC ?= $(LCGDIR)/itasc
|
|
|
|
export BF_PROFILE ?= false
|
|
export NAN_USE_BULLET ?= true
|
|
export NAN_BULLET2 ?= $(LCGDIR)/bullet2
|
|
export NAN_DECIMATION ?= $(LCGDIR)/decimation
|
|
export NAN_GUARDEDALLOC ?= $(LCGDIR)/guardedalloc
|
|
export NAN_IKSOLVER ?= $(LCGDIR)/iksolver
|
|
export NAN_BSP ?= $(LCGDIR)/bsp
|
|
export NAN_BOOLOP ?= $(LCGDIR)/boolop
|
|
export NAN_AUDASPACE ?= $(LCGDIR)/audaspace
|
|
export NAN_STRING ?= $(LCGDIR)/string
|
|
export NAN_MEMUTIL ?= $(LCGDIR)/memutil
|
|
export NAN_CONTAINER ?= $(LCGDIR)/container
|
|
export NAN_ACTION ?= $(LCGDIR)/action
|
|
export NAN_GHOST ?= $(LCGDIR)/ghost
|
|
export NAN_TEST_VERBOSITY ?= 1
|
|
export NAN_OPENNL ?= $(LCGDIR)/opennl
|
|
export NAN_ELBEEM ?= $(LCGDIR)/elbeem
|
|
export NAN_SMOKE ?= $(LCGDIR)/smoke
|
|
export NAN_SUPERLU ?= $(LCGDIR)/superlu
|
|
export NAN_GLEW ?= $(LCGDIR)/glew
|
|
ifeq ($(FREE_WINDOWS), true)
|
|
export NAN_FFMPEG ?= $(LCGDIR)/gcc/ffmpeg
|
|
export NAN_FFMPEGLIBS ?= $(NAN_FFMPEG)/lib/libavformat.a $(NAN_FFMPEG)/lib/libavutil.a $(NAN_FFMPEG)/lib/libavcodec.a $(NAN_FFMPEG)/lib/libavdevice.a
|
|
else
|
|
export NAN_FFMPEG ?= $(LCGDIR)/ffmpeg
|
|
ifeq ($(OS), darwin)
|
|
export NAN_FFMPEGLIBS ?= $(NAN_FFMPEG)/lib/libavformat.a $(NAN_FFMPEG)/lib/libavcodec.a $(NAN_FFMPEG)/lib/libswscale.a $(NAN_FFMPEG)/lib/libavutil.a $(NAN_FFMPEG)/lib/libavdevice.a $(NAN_FFMPEG)/lib/libmp3lame.a $(NAN_FFMPEG)/lib/libx264.a $(NAN_FFMPEG)/lib/libxvidcore.a
|
|
else
|
|
export NAN_FFMPEGLIBS ?= $(NAN_FFMPEG)/lib/libavformat.a $(NAN_FFMPEG)/lib/libavcodec.a $(NAN_FFMPEG)/lib/libswscale.a $(NAN_FFMPEG)/lib/libavutil.a $(NAN_FFMPEG)/lib/libavdevice.a
|
|
endif
|
|
endif
|
|
export NAN_FFMPEGCFLAGS ?= -I$(NAN_FFMPEG)/include -I$(NANBLENDERHOME)/extern/ffmpeg
|
|
|
|
export WITH_OPENEXR ?= true
|
|
export WITH_DDS ?= true
|
|
export WITH_OPENJPEG ?= true
|
|
export WITH_LZO ?= true
|
|
export WITH_LZMA ?= true
|
|
export NAN_LZO ?= $(LCGDIR)/lzo
|
|
export NAN_LZMA ?= $(LCGDIR)/lzma
|
|
export WITH_OPENAL ?= false
|
|
export WITH_JACK ?= false
|
|
export WITH_SNDFILE ?= false
|
|
export WITH_FFTW3 ?= false
|
|
|
|
ifeq ($(WITH_OPENAL), true)
|
|
export NAN_OPENAL ?= /usr
|
|
endif
|
|
|
|
ifeq ($(WITH_JACK), true)
|
|
export NAN_JACK ?= /usr
|
|
export NAN_JACKCFLAGS ?= -I$(NAN_JACK)/include/jack
|
|
export NAN_JACKLIBS ?= $(NAN_JACK)/lib/libjack.a
|
|
endif
|
|
|
|
ifeq ($(WITH_SNDFILE),true)
|
|
export NAN_SNDFILE ?= /usr
|
|
export NAN_SNDFILECFLAGS ?= -I$(NAN_SNDFILE)/include
|
|
export NAN_SNDFILELIBS ?= $(NAN_SNDFILE)/lib/libsndfile.a $(NAN_SNDFILE)/lib/libFLAC.a $(NAN_SNDFILE)/lib/libogg.a
|
|
endif
|
|
|
|
ifeq ($(NAN_USE_FFMPEG_CONFIG), true)
|
|
export NAN_FFMPEG = $(shell pkg-config --variable=prefix libavcodec) # Assume they are all in the same prefix
|
|
export NAN_FFMPEGLIBS = $(shell pkg-config --libs libavcodec libavdevice libavformat libswscale libavutil)
|
|
export NAN_FFMPEGCFLAGS = $(shell pkg-config --cflags libavcodec libavdevice libavformat libswscale libavutil)
|
|
endif
|
|
|
|
ifeq ($(WITH_OPENCOLLADA), true)
|
|
export BF_OPENCOLLADA ?= $(LCGDIR)/opencollada
|
|
export BF_OPENCOLLADA_INC ?= $(BF_OPENCOLLADA)/include
|
|
export BF_OPENCOLLADA_LIBS ?= $(BF_OPENCOLLADA)/lib/libOpenCOLLADASaxFrameworkLoader.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADAFramework.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADABaseUtils.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADAStreamWriter.a $(BF_OPENCOLLADA)/lib/libMathMLSolver.a $(BF_OPENCOLLADA)/lib/libGeneratedSaxParser.a $(BF_OPENCOLLADA)/lib/libUTF.a -lxml2
|
|
export BF_PCRE ?= $(LCGDIR)/pcre
|
|
export BF_PCRE_LIBS ?= $(BF_PCRE)/lib/libpcre.a
|
|
endif
|
|
|
|
|
|
# Compare recreated .mo files with committed ones
|
|
export BF_VERIFY_MO_FILES ?= true
|
|
|
|
# Platform Dependent settings go below:
|
|
ifeq ($(OS),darwin)
|
|
|
|
export ID = $(shell whoami)
|
|
export HOST = $(shell hostname -s)
|
|
|
|
# set target arch & os version
|
|
# architecture defaults to host arch, can be ppc, ppc64, i386, x86_64
|
|
ifeq ($(CPU),powerpc)
|
|
export MACOSX_ARCHITECTURE ?= ppc
|
|
else
|
|
export MACOSX_ARCHITECTURE ?= i386
|
|
endif
|
|
# target os version defaults to 10.4 for ppc & i386 (32 bit), 10.5 for ppc64, x86_64
|
|
ifeq (64,$(findstring 64, $(MACOSX_ARCHITECTURE)))
|
|
export MACOSX_MIN_VERS ?= 10.5
|
|
export MACOSX_DEPLOYMENT_TARGET ?= 10.5
|
|
export MACOSX_SDK ?= /Developer/SDKs/MacOSX10.5.sdk
|
|
else
|
|
export MACOSX_MIN_VERS ?= 10.4
|
|
export MACOSX_DEPLOYMENT_TARGET ?= 10.4
|
|
export MACOSX_SDK ?= /Developer/SDKs/MacOSX10.4u.sdk
|
|
endif
|
|
|
|
# useful for crosscompiling
|
|
ifeq ($(MACOSX_ARCHITECTURE),$(findstring $(MACOSX_ARCHITECTURE), "ppc ppc64"))
|
|
export CPU = powerpc
|
|
export LCGDIR = $(NAN_LIBDIR)/$(OS)-$(OS_VERSION)-$(CPU)
|
|
export OCGDIR = $(NAN_OBJDIR)/$(OS)-$(OS_VERSION)-$(CPU)
|
|
endif
|
|
ifeq ($(MACOSX_ARCHITECTURE),$(findstring $(MACOSX_ARCHITECTURE),"i386 x86_64"))
|
|
export CPU = i386
|
|
export LCGDIR = $(NAN_LIBDIR)/$(OS)-$(OS_VERSION)-$(CPU)
|
|
export OCGDIR = $(NAN_OBJDIR)/$(OS)-$(OS_VERSION)-$(CPU)
|
|
endif
|
|
|
|
export NAN_PYTHON_VERSION = 3.1
|
|
|
|
ifeq ($(NAN_PYTHON_VERSION),3.1)
|
|
export PY_FRAMEWORK ?= 0
|
|
export NAN_PYTHON ?= $(LCGDIR)/python
|
|
export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/libpython$(NAN_PYTHON_VERSION).a
|
|
else
|
|
export PY_FRAMEWORK ?= 1
|
|
ifdef PY_FRAMEWORK
|
|
export NAN_PYTHON ?= /System/Library/Frameworks/Python.framework/Versions/2.5
|
|
export NAN_PYTHON_VERSION ?= 2.5
|
|
export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
|
|
export NAN_PYTHON_LIB ?= -framework Python
|
|
else
|
|
export NAN_PYTHON ?= /sw
|
|
export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
|
|
export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
|
|
endif
|
|
endif
|
|
|
|
export NAN_OPENAL ?= $(LCGDIR)/openal
|
|
export NAN_JPEG ?= $(LCGDIR)/jpeg
|
|
export NAN_PNG ?= $(LCGDIR)/png
|
|
export NAN_TIFF ?= $(LCGDIR)/tiff
|
|
export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
|
|
export NAN_MESA ?= /usr/src/Mesa-3.1
|
|
export NAN_ZLIB ?= $(LCGDIR)/zlib
|
|
export NAN_NSPR ?= $(LCGDIR)/nspr
|
|
export NAN_FREETYPE ?= $(LCGDIR)/freetype
|
|
export NAN_GETTEXT ?= $(LCGDIR)/gettext
|
|
export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib/libintl.a
|
|
ifeq (($CPU), i386)
|
|
export NAN_GETTEXT_LIB += $(NAN_GETTEXT)/lib/libintl.a
|
|
endif
|
|
export NAN_SDL ?= $(LCGDIR)/sdl
|
|
export NAN_SDLCFLAGS ?= -I$(NAN_SDL)/include
|
|
export NAN_SDLLIBS ?= $(NAN_SDL)/lib/libSDL.a -framework Cocoa -framework IOKit
|
|
|
|
export NAN_OPENEXR ?= $(LCGDIR)/openexr
|
|
export NAN_OPENEXR_INC ?= -I$(NAN_OPENEXR)/include -I$(NAN_OPENEXR)/include/OpenEXR
|
|
export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a $(NAN_OPENEXR)/lib/libIlmThread.a
|
|
|
|
export NAN_NO_KETSJI=false
|
|
|
|
#ifeq ($(CPU), i386)
|
|
# export WITH_OPENAL=false
|
|
#endif
|
|
|
|
# Location of MOZILLA/Netscape header files...
|
|
export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
|
|
export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
|
|
# Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
|
|
# if this is not set.
|
|
|
|
export NAN_BUILDINFO ?= true
|
|
# Be paranoid regarding library creation (do not update archives)
|
|
export NAN_PARANOID ?= true
|
|
|
|
# enable quicktime by default on OS X
|
|
export WITH_QUICKTIME ?= true
|
|
|
|
# enable l10n
|
|
export INTERNATIONAL ?= true
|
|
|
|
export NAN_SAMPLERATE ?= $(LCGDIR)/samplerate
|
|
export NAN_SAMPLERATE_LIBS ?= $(NAN_SAMPLERATE)/lib/libsamplerate.a
|
|
|
|
# enable building with Cocoa
|
|
export WITH_COCOA ?= false
|
|
export USE_QTKIT ?= false
|
|
# use cocoa and qtkit for 64bit builds
|
|
ifeq (64, $(findstring 64, $(MACOSX_ARCHITECTURE)))
|
|
export WITH_COCOA = true
|
|
export USE_QTKIT = true
|
|
endif
|
|
|
|
export BF_PCRE = $(LCGDIR)/opencollada
|
|
|
|
else
|
|
ifeq ($(OS),freebsd)
|
|
|
|
export ID = $(shell whoami)
|
|
export HOST = $(shell hostname -s)
|
|
export FREEDESKTOP ?= true
|
|
|
|
export NAN_PYTHON ?= /usr/local
|
|
export NAN_PYTHON_VERSION ?= 3.1
|
|
export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
|
|
export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
|
|
export NAN_OPENAL ?= /usr/local
|
|
export NAN_JPEG ?= /usr/local
|
|
export NAN_PNG ?= /usr/local
|
|
export NAN_TIFF ?= /usr/local
|
|
export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
|
|
export NAN_MESA ?= /usr/src/Mesa-3.1
|
|
export NAN_ZLIB ?= /usr
|
|
export NAN_NSPR ?= /usr/local
|
|
export NAN_FREETYPE ?= $(LCGDIR)/freetype
|
|
export NAN_GETTEXT ?= $(LCGDIR)/gettext
|
|
export NAN_SDL ?= $(shell sdl-config --prefix)
|
|
export NAN_SDLLIBS ?= $(shell sdl-config --libs)
|
|
export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
|
|
|
|
# Location of MOZILLA/Netscape header files...
|
|
export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
|
|
export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
|
|
# Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
|
|
# if this is not set.
|
|
|
|
export NAN_BUILDINFO ?= true
|
|
# Be paranoid regarding library creation (do not update archives)
|
|
export NAN_PARANOID ?= true
|
|
|
|
# enable l10n
|
|
# export INTERNATIONAL ?= true
|
|
|
|
else
|
|
ifeq ($(OS),irix)
|
|
|
|
export ID = $(shell whoami)
|
|
export HOST = $(shell /usr/bsd/hostname -s)
|
|
#export NAN_NO_KETSJI=true
|
|
export NAN_JUST_BLENDERDYNAMIC=true
|
|
export NAN_PYTHON_VERSION ?= 3.1
|
|
ifeq ($(IRIX_USE_GCC), true)
|
|
export NAN_PYTHON ?= $(LCGDIR)/python_gcc
|
|
else
|
|
export NAN_PYTHON ?= $(LCGDIR)/python
|
|
endif
|
|
export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
|
|
export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a -lpthread
|
|
export NAN_OPENAL ?= $(LCGDIR)/openal
|
|
export NAN_JPEG ?= $(LCGDIR)/jpeg
|
|
export NAN_PNG ?= $(LCGDIR)/png
|
|
export NAN_TIFF ?= $(LCGDIR)/tiff
|
|
export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
|
|
export NAN_MESA ?= /usr/src/Mesa-3.1
|
|
export NAN_ZLIB ?= $(LCGDIR)/zlib
|
|
export NAN_NSPR ?= $(LCGDIR)/nspr
|
|
export NAN_FREETYPE ?= $(LCGDIR)/freetype
|
|
export NAN_ICONV ?= $(LCGDIR)/iconv
|
|
export NAN_GETTEXT ?= $(LCGDIR)/gettext
|
|
export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib/libintl.a $(NAN_ICONV)/lib/libiconv.a
|
|
export NAN_SDL ?= $(LCGDIR)/sdl
|
|
export NAN_SDLLIBS ?= $(NAN_SDL)/lib/libSDL.a
|
|
export NAN_SDLCFLAGS ?= -I$(NAN_SDL)/include/SDL
|
|
export NAN_FFMPEG ?= $(LCGDIR)/ffmpeg
|
|
export NAN_FFMPEGLIBS = $(NAN_FFMPEG)/lib/libavformat.a $(NAN_FFMPEG)/lib/libavcodec.a $(NAN_FFMPEG)/lib/libswscale.a $(NAN_FFMPEG)/lib/libavutil.a $(NAN_FFMPEG)/lib/libavdevice.a $(NAN_FFMPEG)/lib/libogg.a $(NAN_FFMPEG)/lib/libfaad.a $(NAN_FFMPEG)/lib/libmp3lame.a $(NAN_FFMPEG)/lib/libvorbis.a $(NAN_FFMPEG)/lib/libx264.a $(NAN_FFMPEG)/lib/libfaac.a $(NAN_ZLIB)/lib/libz.a
|
|
export NAN_FFMPEGCFLAGS ?= -I$(NAN_FFMPEG)/include -I$(NANBLENDERHOME)/extern/ffmpeg
|
|
|
|
ifeq ($(IRIX_USE_GCC), true)
|
|
export NAN_OPENEXR ?= $(LCGDIR)/openexr/gcc
|
|
else
|
|
export NAN_OPENEXR ?= $(LCGDIR)/openexr
|
|
endif
|
|
export NAN_OPENEXR_INC ?= -I$(NAN_OPENEXR)/include -I$(NAN_OPENEXR)/include/OpenEXR
|
|
export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a $(NAN_OPENEXR)/lib/libIlmThread.a
|
|
|
|
# Location of MOZILLA/Netscape header files...
|
|
export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
|
|
export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
|
|
# Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
|
|
# if this is not set.
|
|
|
|
export NAN_BUILDINFO ?= true
|
|
# Be paranoid regarding library creation (do not update archives)
|
|
export NAN_PARANOID ?= true
|
|
|
|
# enable l10n
|
|
export INTERNATIONAL ?= true
|
|
|
|
# Different endianess will make it fail, rely on other plataforms for checks
|
|
export BF_VERIFY_MO_FILES = false
|
|
|
|
else
|
|
ifeq ($(OS),linux)
|
|
|
|
export ID = $(shell whoami)
|
|
export HOST = $(shell hostname -s)
|
|
export FREEDESKTOP ?= true
|
|
|
|
export NAN_PYTHON ?= /usr
|
|
export NAN_PYTHON_VERSION ?= 3.1
|
|
export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
|
|
# Next line if for static python, nan_link.mk uses -lpython$(NAN_PYTHON_VERSION)
|
|
#export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
|
|
export NAN_OPENAL ?= /usr
|
|
export NAN_JPEG ?= /usr
|
|
export NAN_PNG ?= /usr
|
|
export NAN_TIFF ?= /usr
|
|
export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
|
|
export NAN_MESA ?= /usr
|
|
export NAN_ZLIB ?= /usr
|
|
export NAN_NSPR ?= $(LCGDIR)/nspr
|
|
export NAN_FREETYPE ?= /usr
|
|
export NAN_GETTEXT ?= /usr
|
|
export NAN_SDL ?= $(shell sdl-config --prefix)
|
|
export NAN_SDLLIBS ?= $(shell sdl-config --libs)
|
|
export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
|
|
export NAN_SAMPLERATE ?= /usr
|
|
|
|
ifeq ($(WITH_OPENEXR), true)
|
|
export NAN_OPENEXR ?= $(shell pkg-config --variable=prefix OpenEXR )
|
|
export NAN_OPENEXR_INC ?= $(shell pkg-config --cflags OpenEXR )
|
|
export NAN_OPENEXR_LIBS ?= $(addprefix ${NAN_OPENEXR}/lib/lib,$(addsuffix .a,$(shell pkg-config --libs-only-l OpenEXR | sed -s "s/-l//g" )))
|
|
endif
|
|
|
|
ifeq ($(WITH_FFTW3), true)
|
|
export BF_FFTW3 ?= $(shell pkg-config --variable=prefix fftw3 )
|
|
export BF_FFTW3_INC ?= $(shell pkg-config --variable=includedir fftw3 )
|
|
export BF_FFTW3_LIBS ?= $(shell pkg-config --libs fftw3 )
|
|
endif
|
|
|
|
ifeq ($(WITH_OPENJPEG), true)
|
|
export BF_OPENJPEG ?= /usr
|
|
export BF_OPENJPEG_INC ?= /usr/include
|
|
export BF_OPENJPEG_LIBS ?= -lopenjpeg
|
|
endif
|
|
|
|
# Uncomment the following line to use Mozilla inplace of netscape
|
|
|
|
# Location of MOZILLA/Netscape header files...
|
|
export NAN_MOZILLA_INC ?= /usr/include/mozilla
|
|
export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
|
|
# Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
|
|
# if this is not set.
|
|
|
|
export NAN_BUILDINFO ?= true
|
|
# Be paranoid regarding library creation (do not update archives)
|
|
export NAN_PARANOID ?= true
|
|
|
|
# l10n
|
|
export INTERNATIONAL ?= true
|
|
|
|
export WITH_BINRELOC ?= true
|
|
|
|
# enable ffmpeg support
|
|
ifndef NAN_NO_FFMPEG
|
|
export WITH_FFMPEG ?= true
|
|
endif
|
|
|
|
else
|
|
ifeq ($(OS),openbsd)
|
|
|
|
export ID = $(shell whoami)
|
|
export HOST = $(shell hostname -s)
|
|
export FREEDESKTOP ?= true
|
|
|
|
export NAN_PYTHON ?= $(LCGDIR)/python
|
|
export NAN_PYTHON_VERSION ?= 3.1
|
|
export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
|
|
export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
|
|
export NAN_OPENAL ?= $(LCGDIR)/openal
|
|
export NAN_JPEG ?= $(LCGDIR)/jpeg
|
|
export NAN_PNG ?= $(LCGDIR)/png
|
|
export NAN_TIFF ?= $(LCGDIR)/tiff
|
|
export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
|
|
export NAN_MESA ?= /usr/src/Mesa-3.1
|
|
export NAN_ZLIB ?= $(LCGDIR)/zlib
|
|
export NAN_NSPR ?= $(LCGDIR)/nspr
|
|
export NAN_FREETYPE ?= $(LCGDIR)/freetype
|
|
export NAN_GETTEXT ?= $(LCGDIR)/gettext
|
|
export NAN_SDL ?= $(shell sdl-config --prefix)
|
|
export NAN_SDLLIBS ?= $(shell sdl-config --libs)
|
|
export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
|
|
|
|
# Location of MOZILLA/Netscape header files...
|
|
export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
|
|
export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
|
|
# Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
|
|
# if this is not set.
|
|
|
|
export NAN_BUILDINFO ?= true
|
|
# Be paranoid regarding library creation (do not update archives)
|
|
export NAN_PARANOID ?= true
|
|
|
|
# l10n
|
|
#export INTERNATIONAL ?= true
|
|
|
|
else
|
|
ifeq ($(OS),solaris)
|
|
|
|
export ID = $(shell /usr/ucb/whoami)
|
|
export HOST = $(shell hostname)
|
|
export NAN_PYTHON ?= $(LCGDIR)/python
|
|
export NAN_PYTHON_VERSION ?= 3.1
|
|
export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
|
|
export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
|
|
export NAN_OPENAL ?= $(LCGDIR)/openal
|
|
export NAN_JPEG ?= $(LCGDIR)/jpeg
|
|
export NAN_PNG ?= $(LCGDIR)/png
|
|
export NAN_TIFF ?= /usr
|
|
export NAN_TERRAPLAY ?=
|
|
export NAN_MESA ?= /usr/X11
|
|
export NAN_ZLIB ?= $(LCGDIR)/zlib
|
|
export NAN_NSPR ?= $(LCGDIR)/nspr
|
|
export NAN_FREETYPE ?= $(LCGDIR)/freetype
|
|
export NAN_GETTEXT ?= $(LCGDIR)/gettext
|
|
export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib/libintl.a $(NAN_GETTEXT)/lib/libiconv.a
|
|
export NAN_SDL ?= $(LCGDIR)/sdl
|
|
export NAN_SDLCFLAGS ?= -I$(NAN_SDL)/include/SDL
|
|
export NAN_SDLLIBS ?= $(NAN_SDL)/lib/libSDL.a
|
|
|
|
# this only exists at the moment for i386-64 CPU Types at the moment
|
|
export NAN_OPENEXR ?= $(LCGDIR)/openexr
|
|
export NAN_OPENEXR_INC ?= -I$(NAN_OPENEXR)/include -I$(NAN_OPENEXR)/include/OpenEXR
|
|
export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a $(NAN_OPENEXR)/lib/libIlmThread.a -lrt
|
|
|
|
# Location of MOZILLA/Netscape header files...
|
|
export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
|
|
export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
|
|
# Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
|
|
# if this is not set.
|
|
|
|
export NAN_BUILDINFO ?= true
|
|
# Be paranoid regarding library creation (do not update archives)
|
|
export NAN_PARANOID ?= true
|
|
|
|
# l10n
|
|
#export INTERNATIONAL ?= true
|
|
|
|
else
|
|
ifeq ($(OS),windows)
|
|
|
|
export ID = $(LOGNAME)
|
|
export NAN_PYTHON ?= $(LCGDIR)/python
|
|
export NAN_ICONV ?= $(LCGDIR)/iconv
|
|
export NAN_PYTHON_VERSION ?= 3.1
|
|
export NAN_OPENAL ?= $(LCGDIR)/openal
|
|
export NAN_JPEG ?= $(LCGDIR)/jpeg
|
|
export NAN_PNG ?= $(LCGDIR)/png
|
|
export NAN_TIFF ?= $(LCGDIR)/tiff
|
|
export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
|
|
export NAN_MESA ?= /usr/src/Mesa-3.1
|
|
export NAN_ZLIB ?= $(LCGDIR)/zlib
|
|
export NAN_NSPR ?= $(LCGDIR)/nspr
|
|
export NAN_GETTEXT ?= $(LCGDIR)/gettext
|
|
ifeq ($(FREE_WINDOWS), true)
|
|
export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib/freegettext.a $(NAN_ICONV)/lib/freeiconv.a
|
|
export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
|
|
export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/lib25_vs2005/libpython25.a
|
|
export NAN_FREETYPE ?= $(LCGDIR)/gcc/freetype
|
|
export NAN_SDL ?= $(LCGDIR)/gcc/sdl
|
|
export NAN_OPENEXR ?= $(LCGDIR)/gcc/openexr
|
|
export NAN_OPENEXR_INC ?= -I$(NAN_OPENEXR)/include -I$(NAN_OPENEXR)/include/OpenEXR
|
|
export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a
|
|
export NAN_PTHREADS ?= $(LCGDIR)/pthreads
|
|
else
|
|
export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib/gnu_gettext.lib $(NAN_ICONV)/lib/iconv.lib
|
|
export NAN_PYTHON_BINARY ?= python
|
|
export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python23.lib
|
|
export NAN_FREETYPE ?= $(LCGDIR)/freetype
|
|
export NAN_SDL ?= $(LCGDIR)/sdl
|
|
export NAN_OPENEXR ?= $(LCGDIR)/openexr
|
|
export NAN_OPENEXR_INC ?= -I$(NAN_OPENEXR)/include -I$(NAN_OPENEXR)/include/IlmImf -I$(NAN_OPENEXR)/include/Imath -I$(NAN_OPENEXR)/include/Iex
|
|
export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/IlmImf.lib $(NAN_OPENEXR)/lib/Half.lib $(NAN_OPENEXR)/lib/Iex.lib
|
|
endif
|
|
export NAN_SDLCFLAGS ?= -I$(NAN_SDL)/include
|
|
|
|
export NAN_WINTAB ?= $(LCGDIR)/wintab
|
|
|
|
# Location of MOZILLA/Netscape header files...
|
|
export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
|
|
export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
|
|
# Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
|
|
# if this is not set.
|
|
export NAN_PYTHON_BINARY ?= python
|
|
export NAN_BUILDINFO ?= true
|
|
# Be paranoid regarding library creation (do not update archives)
|
|
export NAN_PARANOID ?= true
|
|
|
|
# l10n
|
|
export INTERNATIONAL ?= true
|
|
|
|
# enable quicktime support
|
|
# export WITH_QUICKTIME ?= true
|
|
|
|
else # Platform not listed above
|
|
|
|
export NAN_PYTHON ?= $(LCGDIR)/python
|
|
export NAN_PYTHON_VERSION ?= 3.1
|
|
export NAN_PYTHON_BINARY ?= python
|
|
export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
|
|
|
|
export NAN_OPENAL ?= $(LCGDIR)/openal
|
|
export NAN_JPEG ?= $(LCGDIR)/jpeg
|
|
export NAN_PNG ?= $(LCGDIR)/png
|
|
export NAN_TIFF ?= $(LCGDIR)/tiff
|
|
export NAN_SDL ?= $(LCGDIR)/sdl
|
|
export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
|
|
export NAN_MESA ?= /usr/src/Mesa-3.1
|
|
export NAN_ZLIB ?= $(LCGDIR)/zlib
|
|
export NAN_NSPR ?= $(LCGDIR)/nspr
|
|
export NAN_FREETYPE ?= $(LCGDIR)/freetype
|
|
export NAN_GETTEXT ?= $(LCGDIR)/gettext
|
|
export NAN_SDL ?= $(shell sdl-config --prefix)
|
|
export NAN_SDLLIBS ?= $(shell sdl-config --libs)
|
|
export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
|
|
|
|
# Location of MOZILLA/Netscape header files...
|
|
export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
|
|
export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
|
|
# Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
|
|
# if this is not set.
|
|
|
|
export NAN_BUILDINFO ?= true
|
|
# Be paranoid regarding library creation (do not update archives)
|
|
export NAN_PARANOID ?= true
|
|
|
|
# l10n
|
|
#export INTERNATIONAL ?= true
|
|
|
|
endif # windows + fallback
|
|
endif # solaris
|
|
endif # openbsd
|
|
endif # linux
|
|
endif # irix
|
|
endif # freebsd
|
|
endif # darwin
|
|
|
|
endif # CONFIG_GUESS
|
|
|
|
# Don't want to build the gameengine?
|
|
ifeq ($(NAN_NO_KETSJI), true)
|
|
export NAN_JUST_BLENDERDYNAMIC=true
|
|
endif
|