This add support for: sdl, ffmpeg, openal, jack and sndfile.
We have new options:
WITH_OPENAL, default false
WITH_JACK, default false
WITH_SNDFILE, default false
and with this:
NAN_OPENAL, default /usr
NAN_JACK, default /usr
NAN_JACKCFLAGS, default -I$(NAN_JACK)/include/jack
NAN_JACKLIBS, default $(NAN_JACK)/lib/libjack.a
NAN_SNDFILE, default /usr
NAN_SNDFILECFLAGS, default -I$(NAN_SNDFILE)/include
NAN_SNDFILELIBS, default $(NAN_SNDFILE)/lib/libsndfile.
Also add two new option on source/Makefile for jack and sndfile libs,
but only for linux, so let me know for other OS.
DIRS += ffmpeg
endif
+ifeq ($(WITH_OPENAL),true)
+ DIRS += OpenAL
+endif
+
+ifeq ($(WITH_JACK),true)
+ DIRS += jack
+endif
+
+ifeq ($(WITH_SNDFILE),true)
+ DIRS += sndfile
+endif
+
include nan_subdirs.mk
install: $(ALL_OR_DEBUG)
@[ -d $(NAN_AUDASPACE) ] || mkdir $(NAN_AUDASPACE)
@[ -d $(NAN_AUDASPACE)/include ] || mkdir $(NAN_AUDASPACE)/include
@[ -d $(NAN_AUDASPACE)/lib/$(DEBUG_DIR) ] || mkdir $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)
- @../tools/cpifdiff.sh $(DIR)/$(DEBUG_DIR)libaudaspace.a $(DIR)/$(DEBUG_DIR)libaud_fx.a $(DIR)/$(DEBUG_DIR)libaud_src.a $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)
+ @../tools/cpifdiff.sh $(DIR)/$(DEBUG_DIR)libaudaspace.a $(DIR)/$(DEBUG_DIR)libaud_sdl.a $(DIR)/$(DEBUG_DIR)libaud_fx.a $(DIR)/$(DEBUG_DIR)libaud_src.a $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)
+
+ifeq ($(WITH_FFMPEG),true)
+ @../tools/cpifdiff.sh $(DIR)/$(DEBUG_DIR)libaud_ffmpeg.a $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)
+endif
+
+ifeq ($(WITH_OPENAL),true)
+ @../tools/cpifdiff.sh $(DIR)/$(DEBUG_DIR)libaud_openal.a $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)
+endif
+
+ifeq ($(WITH_JACK),true)
+ @../tools/cpifdiff.sh $(DIR)/$(DEBUG_DIR)libaud_jack.a $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)
+endif
+
+ifeq ($(WITH_SNDFILE),true)
+ @../tools/cpifdiff.sh $(DIR)/$(DEBUG_DIR)libaud_sndfile.a $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)
+endif
ifeq ($(OS),darwin)
ranlib $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaudaspace.a
ranlib $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_src.a
ranlib $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_fx.a
+ ranlib $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_sdl.a
+
+ifeq ($(WITH_FFMPEG),true)
+ ranlib $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_ffmpeg.a
+endif
+
+ifeq ($(WITH_OPENAL),true)
+ ranlib $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_openal.a
+endif
+
+ifeq ($(WITH_JACK),true)
+ ranlib $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_jack.a
endif
- @../tools/cpifdiff.sh intern/*.h $(NAN_AUDASPACE)/include/
+ifeq ($(WITH_SNDFILE),true)
+ ranlib $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_sndfile.a
+endif
+endif
+ @../tools/cpifdiff.sh intern/*.h $(NAN_AUDASPACE)/include/
--- /dev/null
+#
+# $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): none yet.
+#
+# ***** END GPL LICENSE BLOCK *****
+#
+#
+
+LIBNAME = aud_openal
+DIR = $(OCGDIR)/intern/audaspace
+
+include nan_compile.mk
+
+CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
+
+CPPFLAGS += -I../intern
+CPPFLAGS += -I.
#
LIBNAME = aud_sdl
-DIR = $(OCGDIR)/intern/$(LIBNAME)
+DIR = $(OCGDIR)/intern/audaspace
include nan_compile.mk
#
LIBNAME = aud_ffmpeg
-DIR = $(OCGDIR)/intern/$(LIBNAME)
+DIR = $(OCGDIR)/intern/audaspace
include nan_compile.mk
CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
+ifeq ($(WITH_SDL),true)
+ CPPFLAGS += -DWITH_SDL
+ CPPFLAGS += $(NAN_SDLCFLAGS)
+endif
+
+ifeq ($(WITH_OPENAL),true)
+ CPPFLAGS += -DWITH_OPENAL
+ CPPFLAGS += -I../OpenAL
+endif
+
+ifeq ($(WITH_JACK),true)
+ CPPFLAGS += -DWITH_JACK
+ CPPFLAGS += -I$(NAN_JACKCFLAGS)
+ CPPFLAGS += -I../jack
+endif
+
+ifeq ($(WITH_FFMPEG),true)
+ CPPFLAGS += -DWITH_FFMPEG
+ CPPFLAGS += $(NAN_FFMPEGCFLAGS)
+endif
+
+ifeq ($(WITH_SNDFILE),true)
+ CPPFLAGS += -DWITH_SNDFILE
+endif
+
CPPFLAGS += -I$(LCGDIR)/samplerate/include/
CPPFLAGS += -I../ffmpeg
CPPFLAGS += -I../FX
CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
+# If we are here, jack is enable.
+CPPFLAGS += -DWITH_JACK
+CPPFLAGS += $(NAN_JACKCFLAGS)
+
CPPFLAGS += -I../intern
CPPFLAGS += -I..
CPPFLAGS += -I.
--- /dev/null
+#
+# $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):
+#
+# ***** END GPL LICENSE BLOCK *****
+#
+#
+
+LIBNAME = aud_sndfile
+DIR = $(OCGDIR)/intern/audaspace
+
+include nan_compile.mk
+
+CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
+
+CPPFLAGS += -I../intern
+CPPFLAGS += -I..
+CPPFLAGS += -I.
COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaudaspace.a
COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_src.a
COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_fx.a
+COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_sdl.a
COMLIB += $(NAN_SAMPLERATE)/lib/$(DEBUG_DIR)libsamplerate.a
COMLIB += $(NAN_LZO)/lib/$(DEBUG_DIR)libminilzo.a
COMLIB += $(NAN_LZMA)/lib/$(DEBUG_DIR)liblzma.a
COMLIB += $(NAN_SMOKE)/lib/$(DEBUG_DIR)/libsmoke.a
+ifeq ($(WITH_FFMPEG),true)
+ COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_ffmpeg.a
+endif
+
+ifeq ($(WITH_OPENAL),true)
+ COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_openal.a
+endif
+
+ifeq ($(WITH_JACK),true)
+ COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_jack.a
+endif
+
+ifeq ($(WITH_SNDFILE),true)
+ COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_sndfile.a
+endif
+
ifneq ($(NAN_NO_KETSJI),true)
COMLIB += $(OCGDIR)/gameengine/bloutines/$(DEBUG_DIR)libbloutines.a
COMLIB += $(OCGDIR)/gameengine/blconverter/$(DEBUG_DIR)libblconverter.a
SPLIB += $(NAN_ZLIB)/lib/libz.a
endif
-# OpenAL libs are already compiled as shared code!
-
-# Some kooky logic going on here ...
-ifeq ($(NAN_NO_OPENAL), true)
-# NAN_SND_LIBS =
-else
+ifeq ($(WITH_OPENAL),true)
ifeq ($(OS),$(findstring $(OS), "freebsd linux windows"))
ifeq ($(CPU),$(findstring $(CPU), "i386 powerpc x86_64 parisc64"))
NAN_SND_LIBS += $(NAN_OPENAL)/lib/libopenal.a
endif
endif
+ifeq ($(WITH_JACK),true)
+ ifeq ($(OS),$(findstring $(OS), "linux"))
+ NAN_SND_LIBS += $(NAN_JACKLIBS)
+ endif
+endif
+
+ifeq ($(WITH_SNDFILE),true)
+ ifeq ($(OS),$(findstring $(OS), "linux"))
+ NAN_SND_LIBS += $(NAN_SNDFILELIBS)
+ endif
+endif
+
ifeq ($(OS),windows)
# Might need to change this to $(NAN_MOZILLA_LIB)/nspr4.lib
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
+
+ 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
+ endif
ifeq ($(NAN_USE_FFMPEG_CONFIG), true)
export NAN_FFMPEG ?= $(shell ffmpeg-config --prefix)
export NAN_NO_KETSJI=false
ifeq ($(CPU), i386)
- export NAN_NO_OPENAL=true
+ export WITH_OPENAL=false
endif
# Location of MOZILLA/Netscape header files...
# Don't want to build the gameengine?
ifeq ($(NAN_NO_KETSJI), true)
export NAN_JUST_BLENDERDYNAMIC=true
- export NAN_NO_OPENAL=true
endif