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:
authorChris Want <cwant@ualberta.ca>2005-08-18 10:07:02 +0400
committerChris Want <cwant@ualberta.ca>2005-08-18 10:07:02 +0400
commit4a50f5b5930bcaadda1bde13f3abcc9780b7250b (patch)
tree4d3eca2325ba55daeb2b47db7a873adb56b50b0d
parentf7914a224839a9f3509bf391b16dd1a7669438ae (diff)
Support for 'Bullet' in the Makefiles. Enable with:
export NAN_USE_BULLET=true in environment, or in user-def.mk
-rw-r--r--extern/Makefile4
-rw-r--r--extern/bullet/Bullet/Makefile55
-rw-r--r--extern/bullet/BulletDynamics/Makefile55
-rwxr-xr-xextern/bullet/Makefile71
-rw-r--r--source/Makefile7
-rw-r--r--source/gameengine/Converter/Makefile3
-rw-r--r--source/gameengine/Ketsji/Makefile2
-rw-r--r--source/gameengine/Physics/Bullet/Makefile44
-rw-r--r--source/gameengine/Physics/Makefile3
-rw-r--r--source/nan_compile.mk4
-rw-r--r--source/nan_definitions.mk1
11 files changed, 249 insertions, 0 deletions
diff --git a/extern/Makefile b/extern/Makefile
index e872213f4cd..0a85b9b5220 100644
--- a/extern/Makefile
+++ b/extern/Makefile
@@ -40,6 +40,10 @@ ifeq ($(WITH_FREETYPE2), true)
DIRS += bFTGL/src
endif
+ifeq ($(NAN_USE_BULLET), true)
+ DIRS += bullet
+endif
+
TARGET =
ifneq ($(OS),irix)
TARGET=solid
diff --git a/extern/bullet/Bullet/Makefile b/extern/bullet/Bullet/Makefile
new file mode 100644
index 00000000000..eb3710dc691
--- /dev/null
+++ b/extern/bullet/Bullet/Makefile
@@ -0,0 +1,55 @@
+#
+# $Id$
+#
+# ***** BEGIN GPL/BL DUAL 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. The Blender
+# Foundation also sells licenses for use in proprietary software under
+# the Blender License. See http://www.blender.org/BL/ for information
+# about this.
+#
+# 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): none yet.
+#
+# ***** END GPL/BL DUAL LICENSE BLOCK *****
+# opennl intern Makefile
+#
+
+LIBNAME = bullet
+SOURCEDIR = extern/bullet/Bullet
+DIR = $(OCGDIR)/$(SOURCEDIR)
+
+CCSRCS = $(wildcard BroadphaseCollision/*.cpp)
+CCSRCS += $(wildcard NarrowPhaseCollision/*.cpp)
+CCSRCS += $(wildcard CollisionShapes/*.cpp)
+
+CPPFLAGS += -DUSE_DOUBLES -DQHULL -D_LIB
+CPPFLAGS += -I../Bullet -I../BulletDynamics -I../LinearMath
+
+all debug:: objdirs
+
+include nan_compile.mk
+
+.PHONY: objdirs
+objdirs:
+ @$(MAKE) makedir DIR=$(DIR)/$(DEBUG_DIR)
+ @$(MAKE) makedir DIR=$(DIR)/$(DEBUG_DIR)BroadphaseCollision
+ @$(MAKE) makedir DIR=$(DIR)/$(DEBUG_DIR)NarrowPhaseCollision
+ @$(MAKE) makedir DIR=$(DIR)/$(DEBUG_DIR)CollisionShapes
+
diff --git a/extern/bullet/BulletDynamics/Makefile b/extern/bullet/BulletDynamics/Makefile
new file mode 100644
index 00000000000..3d3f9d0714f
--- /dev/null
+++ b/extern/bullet/BulletDynamics/Makefile
@@ -0,0 +1,55 @@
+#
+# $Id$
+#
+# ***** BEGIN GPL/BL DUAL 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. The Blender
+# Foundation also sells licenses for use in proprietary software under
+# the Blender License. See http://www.blender.org/BL/ for information
+# about this.
+#
+# 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): none yet.
+#
+# ***** END GPL/BL DUAL LICENSE BLOCK *****
+# opennl intern Makefile
+#
+
+LIBNAME = bulletdyn
+SOURCEDIR = extern/bullet/BulletDynamics
+DIR = $(OCGDIR)/$(SOURCEDIR)
+
+CCSRCS = $(wildcard CollisionDispatch/*.cpp)
+CCSRCS += $(wildcard ConstraintSolver/*.cpp)
+CCSRCS += $(wildcard Dynamics/*.cpp)
+
+CPPFLAGS += -DUSE_DOUBLES -DQHULL -D_LIB
+CPPFLAGS += -I../Bullet -I../BulletDynamics -I../LinearMath
+
+all debug:: objdirs
+
+include nan_compile.mk
+
+.PHONY: objdirs
+objdirs:
+ @$(MAKE) makedir DIR=$(DIR)/$(DEBUG_DIR)
+ @$(MAKE) makedir DIR=$(DIR)/$(DEBUG_DIR)CollisionDispatch
+ @$(MAKE) makedir DIR=$(DIR)/$(DEBUG_DIR)ConstraintSolver
+ @$(MAKE) makedir DIR=$(DIR)/$(DEBUG_DIR)Dynamics
+
diff --git a/extern/bullet/Makefile b/extern/bullet/Makefile
new file mode 100755
index 00000000000..336c58cab82
--- /dev/null
+++ b/extern/bullet/Makefile
@@ -0,0 +1,71 @@
+#
+# $Id$
+#
+# ***** BEGIN GPL/BL DUAL 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. The Blender
+# Foundation also sells licenses for use in proprietary software under
+# the Blender License. See http://www.blender.org/BL/ for information
+# about this.
+#
+# 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): none yet.
+#
+# ***** END GPL/BL DUAL LICENSE BLOCK *****
+#
+#
+
+include nan_definitions.mk
+
+
+SOURCEDIR = extern/bullet
+LIBNAMES = bullet bulletdyn
+DIR = $(OCGDIR)/$(SOURCEDIR)
+DIRS = Bullet BulletDynamics
+
+include nan_subdirs.mk
+
+install: all debug
+ @[ -d $(NAN_BULLET) ] || mkdir $(NAN_BULLET)
+ @[ -d $(NAN_BULLET)/include ] || mkdir $(NAN_BULLET)/include
+ @[ -d $(NAN_BULLET)/include/CollisionShapes ] || mkdir $(NAN_BULLET)/include/CollisionShapes
+ @[ -d $(NAN_BULLET)/include/BroadphaseCollision ] || mkdir $(NAN_BULLET)/include/BroadphaseCollision
+ @[ -d $(NAN_BULLET)/include/NarrowPhaseCollision ] || mkdir $(NAN_BULLET)/include/NarrowPhaseCollision
+ @[ -d $(NAN_BULLET)/include/Dynamics ] || mkdir $(NAN_BULLET)/include/Dynamics
+ @[ -d $(NAN_BULLET)/include/ConstraintSolver ] || mkdir $(NAN_BULLET)/include/ConstraintSolver
+ @[ -d $(NAN_BULLET)/include/CollisionDispatch ] || mkdir $(NAN_BULLET)/include/CollisionDispatch
+ @[ -d $(NAN_BULLET)/lib ] || mkdir $(NAN_BULLET)/lib
+ @[ -d $(NAN_BULLET)/lib/debug ] || mkdir $(NAN_BULLET)/lib/debug
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh $(DIR)/Bullet/libbullet.a $(NAN_BULLET)/lib/
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh $(DIR)/Bullet/debug/libbullet.a $(NAN_BULLET)/lib/debug/
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh $(DIR)/BulletDynamics/libbulletdyn.a $(NAN_BULLET)/lib/
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh $(DIR)/BulletDynamics/debug/libbulletdyn.a $(NAN_BULLET)/lib/debug/
+ifeq ($(OS),darwin)
+ ranlib $(NAN_BULLET)/lib/libbullet.a
+ ranlib $(NAN_BULLET)/lib/debug/libbullet.a
+ ranlib $(NAN_BULLET)/lib/libbulletdyn.a
+ ranlib $(NAN_BULLET)/lib/debug/libbulletdyn.a
+endif
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh Bullet/CollisionShapes/*.h $(NAN_BULLET)/include/CollisionShapes
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh Bullet/BroadphaseCollision/*.h $(NAN_BULLET)/include/BroadphaseCollision
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh Bullet/NarrowPhaseCollision/*.h $(NAN_BULLET)/include/NarrowPhaseCollision
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh BulletDynamics/Dynamics/*.h $(NAN_BULLET)/include/Dynamics
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh BulletDynamics/ConstraintSolver/*.h $(NAN_BULLET)/include/ConstraintSolver
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh BulletDynamics/CollisionDispatch/*.h $(NAN_BULLET)/include/CollisionDispatch
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh LinearMath/*.h $(NAN_BULLET)/include
diff --git a/source/Makefile b/source/Makefile
index 4a1ca663e41..83726144864 100644
--- a/source/Makefile
+++ b/source/Makefile
@@ -125,6 +125,9 @@ ifneq ($(NAN_NO_KETSJI),true)
# COMLIB += $(OCGDIR)/gameengine/blphys/blode/$(DEBUG_DIR)libblode.a
# COMLIB += $(OCGDIR)/gameengine/blphys/sumo/$(DEBUG_DIR)libsumo.a
COMLIB += $(OCGDIR)/gameengine/blphys/dummy/$(DEBUG_DIR)libdummy.a
+ ifeq ($(NAN_USE_BULLET), true)
+ COMLIB += $(OCGDIR)/gameengine/blphys/blbullet/$(DEBUG_DIR)libblbullet.a
+ endif
COMLIB += $(OCGDIR)/gameengine/blphys/common/$(DEBUG_DIR)libcommon.a
# COMLIB += $(OCGDIR)/gameengine/blphys/sumo/$(DEBUG_DIR)libsumo.a
COMLIB += $(OCGDIR)/gameengine/blphys/dummy/$(DEBUG_DIR)libdummy.a
@@ -144,6 +147,10 @@ ifneq ($(NAN_NO_KETSJI),true)
COMLIB += $(OCGDIR)/gameengine/ketsji/KXNetwork/$(DEBUG_DIR)libKXNetwork.a
COMLIB += $(OCGDIR)/gameengine/Network/$(DEBUG_DIR)libNetwork.a
COMLIB += $(OCGDIR)/gameengine/Network/LoopBackNetwork/$(DEBUG_DIR)libLoopBackNetwork.a
+ ifeq ($(NAN_USE_BULLET), true)
+ COMLIB += $(NAN_BULLET)/lib/libbulletdyn.a
+ COMLIB += $(NAN_BULLET)/lib/libbullet.a
+ endif
endif
COMLIB += $(NAN_GUARDEDALLOC)/lib/libguardedalloc.a
COMLIB += $(NAN_BMFONT)/lib/$(DEBUG_DIR)libbmfont.a
diff --git a/source/gameengine/Converter/Makefile b/source/gameengine/Converter/Makefile
index 0350c86ebc8..1440243594f 100644
--- a/source/gameengine/Converter/Makefile
+++ b/source/gameengine/Converter/Makefile
@@ -44,6 +44,8 @@ CPPFLAGS += -I$(NAN_SOUNDSYSTEM)/include
CPPFLAGS += -I$(NAN_PYTHON)/include/python$(NAN_PYTHON_VERSION)
CPPFLAGS += -I$(NAN_FUZZICS)/include -I$(NAN_SUMO) -I$(NAN_MOTO)/include
CPPFLAGS += -I$(NAN_SOLID)/include
+CPPFLAGS += -I$(NAN_BULLET)/include
+
CPPFLAGS += -I../../blender
# these two needed because of blenkernel
CPPFLAGS += -I../../blender/imbuf
@@ -60,3 +62,4 @@ CPPFLAGS += -I../Rasterizer/RAS_OpenGLRasterizer
CPPFLAGS += -I../Network -I../Ketsji/KXNetwork
CPPFLAGS += -I../Physics/common -I../Physics/Dummy
CPPFLAGS += -I../Physics/BlOde
+CPPFLAGS += -I../Physics/Bullet
diff --git a/source/gameengine/Ketsji/Makefile b/source/gameengine/Ketsji/Makefile
index 18a931eed65..4f6d19a8df0 100644
--- a/source/gameengine/Ketsji/Makefile
+++ b/source/gameengine/Ketsji/Makefile
@@ -44,6 +44,7 @@ CPPFLAGS += -I$(NAN_STRING)/include
CPPFLAGS += -I$(NAN_SOUNDSYSTEM)/include
CPPFLAGS += -I$(NAN_FUZZICS)/include -I$(NAN_SUMO) -I$(NAN_MOTO)/include
CPPFLAGS += -I$(NAN_SOLID)/include
+CPPFLAGS += -I$(NAN_BULLET)/include
CPPFLAGS += -I../Rasterizer -I../GameLogic -I../SceneGraph
CPPFLAGS += -I../BlenderRoutines -I../Expressions
CPPFLAGS += -I../../kernel/gen_system
@@ -52,6 +53,7 @@ CPPFLAGS += -I../Physics/common
CPPFLAGS += -I../Physics/Dummy
CPPFLAGS += -I../Physics/Sumo
CPPFLAGS += -I../Physics/BlOde
+CPPFLAGS += -I../Physics/Bullet
CPPFLAGS += -I.
CPPFLAGS += -I../Converter
CPPFLAGS += -I../../blender/blenkernel
diff --git a/source/gameengine/Physics/Bullet/Makefile b/source/gameengine/Physics/Bullet/Makefile
new file mode 100644
index 00000000000..747e750242a
--- /dev/null
+++ b/source/gameengine/Physics/Bullet/Makefile
@@ -0,0 +1,44 @@
+#
+# $Id$
+#
+# ***** BEGIN GPL/BL DUAL 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. The Blender
+# Foundation also sells licenses for use in proprietary software under
+# the Blender License. See http://www.blender.org/BL/ for information
+# about this.
+#
+# 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): none yet.
+#
+# ***** END GPL/BL DUAL LICENSE BLOCK *****
+#
+#
+
+LIBNAME = blbullet
+DIR = $(OCGDIR)/gameengine/blphys/$(LIBNAME)
+
+include nan_compile.mk
+
+CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
+
+CPPFLAGS += -I$(NAN_BULLET)/include
+CPPFLAGS += -I$(NAN_GUARDEDALLOC)/include
+CPPFLAGS += -I../../Physics/common
+CPPFLAGS += -I../../Physics/Dummy
diff --git a/source/gameengine/Physics/Makefile b/source/gameengine/Physics/Makefile
index a921848cfa7..b88cedee8f2 100644
--- a/source/gameengine/Physics/Makefile
+++ b/source/gameengine/Physics/Makefile
@@ -37,5 +37,8 @@ SOURCEDIR = source/gameengine/Physics
DIR = $(OCGDIR)/gameengine/blphys
DIRS = common Sumo Dummy
#DIRS += BlOde
+ifeq ($(NAN_USE_BULLET), true)
+ DIRS += Bullet
+endif
include nan_subdirs.mk
diff --git a/source/nan_compile.mk b/source/nan_compile.mk
index 8bd323cf494..8386a6d9ea7 100644
--- a/source/nan_compile.mk
+++ b/source/nan_compile.mk
@@ -42,6 +42,10 @@ ifneq ($(NAN_NO_KETSJI), true)
CFLAGS += -DGAMEBLENDER=1
CFLAGS += -DUSE_SUMO_SOLID
CCFLAGS += -DUSE_SUMO_SOLID
+ ifeq ($(NAN_USE_BULLET), true)
+ CFLAGS += -DUSE_BULLET
+ CCFLAGS += -DUSE_BULLET
+ endif
else
CPPFLAGS += -DNO_KETSJI
endif
diff --git a/source/nan_definitions.mk b/source/nan_definitions.mk
index fcd6f2225fb..74038650db9 100644
--- a/source/nan_definitions.mk
+++ b/source/nan_definitions.mk
@@ -67,6 +67,7 @@ else
export NAN_SOLID ?= $(LCGDIR)/solid
export NAN_QHULL ?= $(LCGDIR)/qhull
endif
+ export NAN_BULLET ?= $(LCGDIR)/bullet
export NAN_SUMO ?= $(SRCHOME)/gameengine/Physics/Sumo
export NAN_FUZZICS ?= $(SRCHOME)/gameengine/Physics/Sumo/Fuzzics
export NAN_BLENKEY ?= $(LCGDIR)/blenkey