Support for 'Bullet' in the Makefiles. Enable with:

export NAN_USE_BULLET=true

in environment, or in user-def.mk
This commit is contained in:
Chris Want 2005-08-18 06:07:02 +00:00
parent f7914a2248
commit 4a50f5b593
11 changed files with 249 additions and 0 deletions

4
extern/Makefile vendored

@ -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

55
extern/bullet/Bullet/Makefile vendored Normal file

@ -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

55
extern/bullet/BulletDynamics/Makefile vendored Normal file

@ -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

71
extern/bullet/Makefile vendored Executable file

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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