This commit does a couple of things to the Makefiles.
authorKent Mein <mein@cs.umn.edu>
Tue, 27 Mar 2007 15:42:27 +0000 (15:42 +0000)
committerKent Mein <mein@cs.umn.edu>
Tue, 27 Mar 2007 15:42:27 +0000 (15:42 +0000)
The first is it adds libIlmThread.a to the OpenEXR libs.

The second thing it does, is make it possible to define what TARGETS
you want to build inside of your user-def.mk file.  This simplifies
source/Makefile quite a bit.  I made each platform have the same
defaults (build dynamic blender, gameengine and gameplayer)  I think
most platforms should be building this combo anyway and if you need to
change it its trivial so no need to have different defaults for each platform.
The new defines are as follows with their default settings in:
         source/nan_definitions.mk

    export WITH_BF_DYNAMICOPENGL ?= true
    export WITH_BF_STATICOPENGL ?= false
    export WITH_BF_GAMEENGINE ?= true
    export WITH_BF_GAMEPLAYER ?= true
    export WITH_BF_WEBPLUGIN ?= false

Let me know if you have any problems with it.

Kent

source/Makefile
source/gameengine/Makefile
source/nan_definitions.mk

index 222e197454a54ebf9f7842dbca13692875e275fb..7a06144f8906e3b953ec6895f063a2f8dccd1406 100644 (file)
@@ -76,35 +76,36 @@ PYPLAYERLIB ?= $(PYLIB)
 # PLUGAPPLIB libs that form the application to be plugged in
 # Note: the order is important here
 
-    GRPLIB = $(OCGDIR)/creator/$(DEBUG_DIR)libcreator.a
-    GRPLIB += $(OCGDIR)/blender/src/$(DEBUG_DIR)libsrcpublisher.a
-    GRPLIB += $(NAN_BSP)/lib/$(DEBUG_DIR)libbsp.a
-    GRPLIB += $(NAN_BOOLOP)/lib/$(DEBUG_DIR)libboolop.a
-    GRPLIB += $(NAN_SOUNDSYSTEM)/lib/$(DEBUG_DIR)libSoundSystem.a
-    GRPLIB += $(NAN_GHOST)/lib/$(DEBUG_DIR)libghost.a
-    GRPLIB += $(NAN_STRING)/lib/$(DEBUG_DIR)libstring.a
-    GRPLIB += $(OCGDIR)/blender/render/$(DEBUG_DIR)librender.a
-    GRPLIB += $(OCGDIR)/blender/radiosity/$(DEBUG_DIR)libradiosity.a
-    GRPLIB += $(NAN_OPENNL)/lib/$(DEBUG_DIR)libopennl.a
-    GRPLIB += $(NAN_SUPERLU)/lib/$(DEBUG_DIR)libsuperlu.a      
-    GRPLIB += $(OCGDIR)/blender/python/$(DEBUG_DIR)libpython.a
+GRPLIB = $(OCGDIR)/creator/$(DEBUG_DIR)libcreator.a
+GRPLIB += $(OCGDIR)/blender/src/$(DEBUG_DIR)libsrcpublisher.a
+GRPLIB += $(NAN_BSP)/lib/$(DEBUG_DIR)libbsp.a
+GRPLIB += $(NAN_BOOLOP)/lib/$(DEBUG_DIR)libboolop.a
+GRPLIB += $(NAN_SOUNDSYSTEM)/lib/$(DEBUG_DIR)libSoundSystem.a
+GRPLIB += $(NAN_GHOST)/lib/$(DEBUG_DIR)libghost.a
+GRPLIB += $(NAN_STRING)/lib/$(DEBUG_DIR)libstring.a
+GRPLIB += $(OCGDIR)/blender/render/$(DEBUG_DIR)librender.a
+GRPLIB += $(OCGDIR)/blender/radiosity/$(DEBUG_DIR)libradiosity.a
+GRPLIB += $(NAN_OPENNL)/lib/$(DEBUG_DIR)libopennl.a
+GRPLIB += $(NAN_SUPERLU)/lib/$(DEBUG_DIR)libsuperlu.a  
+GRPLIB += $(OCGDIR)/blender/python/$(DEBUG_DIR)libpython.a
 
 # nlin: the reason that some libraries appear more than once below is
 # to handle circular dependencies in linking among libraries... some
 # linkers (e.g. under Linux) need libs to be specified multiple times
 # to properly resolve circular dependencies. ugly, but it works...
 # the repeat entries could probably be trimmed down.
-    COMLIB = $(OCGDIR)/blender/blenkernel/$(DEBUG_DIR)libblenkernel.a
-    COMLIB += $(NAN_DECIMATION)/lib/libdecimation.a
-    COMLIB += $(OCGDIR)/blender/blenloader/$(DEBUG_DIR)libblenloader.a
-    COMLIB += $(OCGDIR)/blender/blenpluginapi/$(DEBUG_DIR)libblenpluginapi.a
-    COMLIB += $(OCGDIR)/blender/nodes/$(DEBUG_DIR)libnodes.a
-    COMLIB += $(OCGDIR)/blender/nodes_shd/$(DEBUG_DIR)libnodes_shd.a
-    COMLIB += $(OCGDIR)/blender/nodes_cmp/$(DEBUG_DIR)libnodes_cmp.a
-    COMLIB += $(OCGDIR)/blender/imbuf/$(DEBUG_DIR)libimbuf.a
-    COMLIB += $(OCGDIR)/blender/blenlib/$(DEBUG_DIR)libblenlib.a
-    COMLIB += $(OCGDIR)/blender/avi/$(DEBUG_DIR)libavi.a
-    COMLIB += $(NAN_JPEG)/lib/libjpeg.a
+COMLIB = $(OCGDIR)/blender/blenkernel/$(DEBUG_DIR)libblenkernel.a
+COMLIB += $(NAN_DECIMATION)/lib/libdecimation.a
+COMLIB += $(OCGDIR)/blender/blenloader/$(DEBUG_DIR)libblenloader.a
+COMLIB += $(OCGDIR)/blender/blenpluginapi/$(DEBUG_DIR)libblenpluginapi.a
+COMLIB += $(OCGDIR)/blender/nodes/$(DEBUG_DIR)libnodes.a
+COMLIB += $(OCGDIR)/blender/nodes_shd/$(DEBUG_DIR)libnodes_shd.a
+COMLIB += $(OCGDIR)/blender/nodes_cmp/$(DEBUG_DIR)libnodes_cmp.a
+COMLIB += $(OCGDIR)/blender/imbuf/$(DEBUG_DIR)libimbuf.a
+COMLIB += $(OCGDIR)/blender/blenlib/$(DEBUG_DIR)libblenlib.a
+COMLIB += $(OCGDIR)/blender/avi/$(DEBUG_DIR)libavi.a
+COMLIB += $(NAN_JPEG)/lib/libjpeg.a
+
 ifneq ($(NAN_NO_KETSJI),true)
     COMLIB += $(OCGDIR)/gameengine/bloutines/$(DEBUG_DIR)libbloutines.a
     COMLIB += $(OCGDIR)/gameengine/blconverter/$(DEBUG_DIR)libblconverter.a
@@ -150,20 +151,25 @@ ifneq ($(NAN_NO_KETSJI),true)
     COMLIB += $(OCGDIR)/gameengine/Network/LoopBackNetwork/$(DEBUG_DIR)libLoopBackNetwork.a
     COMLIB += $(NAN_BULLET2)/lib/libbullet2.a
 endif
-    COMLIB += $(NAN_GUARDEDALLOC)/lib/libguardedalloc.a
-    COMLIB += $(NAN_MEMUTIL)/lib/libmemutil.a
-    COMLIB += $(NAN_BMFONT)/lib/$(DEBUG_DIR)libbmfont.a
-    COMLIB += $(NAN_PNG)/lib/libpng.a
-    COMLIB += $(OCGDIR)/blender/yafray/$(DEBUG_DIR)libyafrayexport.a
-    COMLIB += $(OCGDIR)/blender/blenlib/$(DEBUG_DIR)libblenlib.a
-  ifeq ($(WITH_QUICKTIME), true)
+
+COMLIB += $(NAN_GUARDEDALLOC)/lib/libguardedalloc.a
+COMLIB += $(NAN_MEMUTIL)/lib/libmemutil.a
+COMLIB += $(NAN_BMFONT)/lib/$(DEBUG_DIR)libbmfont.a
+COMLIB += $(NAN_PNG)/lib/libpng.a
+COMLIB += $(OCGDIR)/blender/yafray/$(DEBUG_DIR)libyafrayexport.a
+COMLIB += $(OCGDIR)/blender/blenlib/$(DEBUG_DIR)libblenlib.a
+
+ifeq ($(WITH_QUICKTIME), true)
     COMLIB += $(OCGDIR)/blender/blenderqt/$(DEBUG_DIR)libblenderqt.a
-  endif
-  ifeq ($(WITH_OPENEXR), true)
+endif
+
+ifeq ($(WITH_OPENEXR), true)
     COMLIB += $(OCGDIR)/blender/imbuf/openexr/$(DEBUG_DIR)libopenexr.a
-  endif
-  COMLIB += $(OCGDIR)/blender/imbuf/cineon/$(DEBUG_DIR)libcineon.a
-  ifeq ($(WITH_FREETYPE2), true)
+endif
+
+COMLIB += $(OCGDIR)/blender/imbuf/cineon/$(DEBUG_DIR)libcineon.a
+
+ifeq ($(WITH_FREETYPE2), true)
     ifeq ($(OS), windows)
       ifeq ($(FREE_WINDOWS), true)
         COMLIB += $(NAN_FREETYPE)/lib/libfreetype.a
@@ -177,7 +183,8 @@ endif
         COMLIB += $(NAN_FREETYPE)/lib/libfreetype.a
       endif
     endif
-  endif
+endif
+
 ifeq ($(INTERNATIONAL), true)
     COMLIB += $(OCGDIR)/blender/ftfont/$(DEBUG_DIR)libftfont.a
     ifeq ($(OS), windows)
@@ -226,6 +233,7 @@ endif
 ifeq ($(OS), irix)
     COMLIB += $(NAN_SDL)/lib/libSDL.a
 endif
+
 ifeq ($(OS), windows)
     ifeq ($(FREE_WINDOWS), true)
         COMLIB += $(NAN_SDL)/lib/libSDL.a
@@ -239,11 +247,11 @@ ifeq ($(WITH_OPENEXR), true)
     COMLIB += $(NAN_OPENEXR_LIBS)
 endif
 
-    PULIB = $(NAN_IKSOLVER)/lib/libiksolver.a
-    PULIB += $(NAN_MOTO)/lib/libmoto.a
-    PULIB += $(NAN_ELBEEM)/lib/$(DEBUG_DIR)libelbeem.a
-    PULIB += $(OCGDIR)/blender/readblenfile/$(DEBUG_DIR)libreadblenfile.a
-    PULIB += $(OCGDIR)/blender/src/$(DEBUG_DIR)libsrcpublisher.a
+PULIB = $(NAN_IKSOLVER)/lib/libiksolver.a
+PULIB += $(NAN_MOTO)/lib/libmoto.a
+PULIB += $(NAN_ELBEEM)/lib/$(DEBUG_DIR)libelbeem.a
+PULIB += $(OCGDIR)/blender/readblenfile/$(DEBUG_DIR)libreadblenfile.a
+PULIB += $(OCGDIR)/blender/src/$(DEBUG_DIR)libsrcpublisher.a
 
 ifeq ($(NAN_NO_KETSJI),true)
     PULIB += $(NAN_MOTO)/lib/libmoto.a
@@ -252,30 +260,30 @@ ifeq ($(NAN_NO_KETSJI),true)
     COMLIB += $(NAN_SND_LIBS)
 endif
 
-    SPLIB1 = $(OCGDIR)/gameengine/GamePlayer/ghost/$(DEBUG_DIR)libghost.a
-    SPLIB1 += $(OCGDIR)/gameengine/GamePlayer/common/$(DEBUG_DIR)libcommon.a
-    SPLIB1 += $(NAN_STRING)/lib/$(DEBUG_DIR)libstring.a
-    SPLIB1 += $(NAN_GHOST)/lib/$(DEBUG_DIR)libghost.a
+SPLIB1 = $(OCGDIR)/gameengine/GamePlayer/ghost/$(DEBUG_DIR)libghost.a
+SPLIB1 += $(OCGDIR)/gameengine/GamePlayer/common/$(DEBUG_DIR)libcommon.a
+SPLIB1 += $(NAN_STRING)/lib/$(DEBUG_DIR)libstring.a
+SPLIB1 += $(NAN_GHOST)/lib/$(DEBUG_DIR)libghost.a
 
-    SPLIB = $(OCGDIR)/blender/makesdna/$(DEBUG_DIR)DNA.o
-    SPLIB += $(OCGDIR)/blender/readblenfile/$(DEBUG_DIR)libreadblenfile.a
-    # this is used for the plugin. It uses some things from libz.a, 
-    # but somehow it consistently fails to resolve these symbols... or 
-    # can I just not check them? nm claims they aren't...
-    SPLIB += $(OCGDIR)/blender/blenkernel/blenkernel_blc/$(DEBUG_DIR)libblenkernel_blc.a
+SPLIB = $(OCGDIR)/blender/makesdna/$(DEBUG_DIR)DNA.o
+SPLIB += $(OCGDIR)/blender/readblenfile/$(DEBUG_DIR)libreadblenfile.a
+# this is used for the plugin. It uses some things from libz.a, 
+# but somehow it consistently fails to resolve these symbols... or 
+# can I just not check them? nm claims they aren't...
+SPLIB += $(OCGDIR)/blender/blenkernel/blenkernel_blc/$(DEBUG_DIR)libblenkernel_blc.a
 
-    # These three need to be explicitly mentioned on the cl, because 
-    # if they are offered as a lib, they are optimized away. (nzc)
-    NSPLUGLIB = $(OCGDIR)/gameengine/GamePlayer/netscape/src/$(DEBUG_DIR)UnixShell.o
-    NSPLUGLIB += $(OCGDIR)/gameengine/GamePlayer/netscape/src/$(DEBUG_DIR)stubs.o
-    NSPLUGLIB += $(OCGDIR)/gameengine/GamePlayer/netscape/src/$(DEBUG_DIR)winstubs.o
-    NSPLUGLIB += $(OCGDIR)/gameengine/GamePlayer/netscape/src/$(DEBUG_DIR)Blender3DPlugin_native_implementation.o
+# These three need to be explicitly mentioned on the cl, because 
+# if they are offered as a lib, they are optimized away. (nzc)
+NSPLUGLIB = $(OCGDIR)/gameengine/GamePlayer/netscape/src/$(DEBUG_DIR)UnixShell.o
+NSPLUGLIB += $(OCGDIR)/gameengine/GamePlayer/netscape/src/$(DEBUG_DIR)stubs.o
+NSPLUGLIB += $(OCGDIR)/gameengine/GamePlayer/netscape/src/$(DEBUG_DIR)winstubs.o
+NSPLUGLIB += $(OCGDIR)/gameengine/GamePlayer/netscape/src/$(DEBUG_DIR)Blender3DPlugin_native_implementation.o
 
-    # Here you can configure what sort of test to make for the plugin.
+# Here you can configure what sort of test to make for the plugin.
 #    PLUGTESTLIB = $(OCGDIR)/gameengine/GamePlayer/netscape/test/$(DEBUG_DIR)libns_api_test_stub.a
 #    PLUGTESTLIB = $(OCGDIR)/gameengine/GamePlayer/netscape/test/$(DEBUG_DIR)libns_api_test_colorcycle.a
 #    PLUGTESTLIB = $(OCGDIR)/gameengine/GamePlayer/netscape/test/$(DEBUG_DIR)libns_api_test_gears.a
-    PLUGTESTLIB = $(OCGDIR)/gameengine/GamePlayer/netscape/test/$(DEBUG_DIR)libns_api_test_threaded_gears.a
+PLUGTESTLIB = $(OCGDIR)/gameengine/GamePlayer/netscape/test/$(DEBUG_DIR)libns_api_test_threaded_gears.a
 
 # XPCOM is done only for Linux for now
 ifeq ($(OS),$(findstring $(OS), "linux"))
@@ -284,7 +292,7 @@ ifeq ($(OS),$(findstring $(OS), "linux"))
   endif
 endif
 
-    PLUGAPPLIB = $(OCGDIR)/gameengine/GamePlayer/netscape/src/$(DEBUG_DIR)libplugin_ketsji_hooks.a
+PLUGAPPLIB = $(OCGDIR)/gameengine/GamePlayer/netscape/src/$(DEBUG_DIR)libplugin_ketsji_hooks.a
 
 ifeq ($(OS),$(findstring $(OS), "freebsd linux irix solaris"))
     NSPLUGLIB += $(OCGDIR)/gameengine/GamePlayer/netscape/src/$(DEBUG_DIR)PLG_X11_windowing.o
@@ -295,7 +303,8 @@ ifeq ($(OS),$(findstring $(OS), "windows"))
     NSPLUGLIB += $(OCGDIR)/gameengine/GamePlayer/netscape/src/$(DEBUG_DIR)npB3DPlg.res
     PLUGAPPLIB += $(OCGDIR)/gameengine/GamePlayer/common/windows/$(DEBUG_DIR)libwindows.a
 endif
-    PLUGAPPLIB += $(OCGDIR)/gameengine/GamePlayer/common/$(DEBUG_DIR)libcommon.a
+
+PLUGAPPLIB += $(OCGDIR)/gameengine/GamePlayer/common/$(DEBUG_DIR)libcommon.a
 
 ifeq ($(OS),$(findstring $(OS), "linux"))
   ifeq ($(CPU),i386)
@@ -303,88 +312,48 @@ ifeq ($(OS),$(findstring $(OS), "linux"))
   endif
 endif
 
-    # A bit silly... but needed to resolve symbols.
-    PLUGREMLIB = $(NAN_STRING)/lib/$(DEBUG_DIR)libstring.a
+# A bit silly... but needed to resolve symbols.
+PLUGREMLIB = $(NAN_STRING)/lib/$(DEBUG_DIR)libstring.a
 
 ######################## OS dependencies (alphabetic!) ################
 
 include nan_link.mk
 
-ifeq ($(OS),beos)
+ifeq ($(NAN_JUST_BLENDERDYNAMIC),true)
     BINTARGETS = blenderdynamic
 endif
 
-ifeq ($(OS),darwin)
-    BINTARGETS = blenderdynamic.app
-    BINTARGETS += blenderplayer.app
-    ifdef PY_FRAMEWORK
-        PYLIB = -framework Python
-    else 
-        PYLIB = $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
-    endif
+ifeq ($(WITH_BF_DYNAMICOPENGL), true)
+    BINTARGETS += blenderdynamic
 endif
 
-ifeq ($(OS),freebsd)
-  ifeq ($(OS_VERSION),$(findstring $(OS_VERSION), "3.4 4.0"))
-    BINTARGETS = blenderdynamic
+ifeq ($(WITH_BF_STATICOPENGL), true)
     BINTARGETS += blenderstatic
-  else
-    BINTARGETS = blenderdynamic
-    BINTARGETS += blenderplayer
-    BINTARGETS += plugin
-  endif
-    PYLIB = $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
-    PYLIB += $(NAN_MXTEXTTOOLS) 
 endif
 
-ifeq ($(OS),irix)
-    BINTARGETS = blenderdynamic
+ifeq ($(WITH_BF_BLENDERPLAYER), true)
+    export WITH_BF_GAMEENGINE=true
     BINTARGETS += blenderplayer
-    BINTARGETS += plugin
-    PYLIB = $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
-    PYLIB += $(NAN_MXTEXTTOOLS)
 endif
 
-ifeq ($(OS),linux)
-    BINTARGETS = blenderdynamic 
-  ifeq ($(CPU),alpha)
-    BINTARGETS = blenderdynamic
-    BINTARGETS += blenderplayer
-  endif
-  ifeq ($(CPU),x86_64)
-    BINTARGETS = blenderdynamic
-    BINTARGETS += blenderplayer
-  endif
-  ifeq ($(CPU),i386)
-    BINTARGETS = blenderdynamic
-    BINTARGETS += blenderplayer
-    BINTARGETS += blenderstatic
-    ifneq ($(NAN_NO_PLUGIN),true)
-      BINTARGETS += plugin xplink
+ifeq ($(WITH_BF_WEBPLUGIN), true)
+    ifneq ($(NAN_NO_PLUGIN), true)
+        BINTARGETS += plugin
+        ifeq ($(OS),linux)
+            ifeq ($(CPU),i386)
+                 BINTARGETS += xplink
+             endif
+        endif
     endif
-  endif
-  ifeq ($(CPU),powerpc)
-    BINTARGETS = blenderdynamic
-    BINTARGETS += blenderstatic
-    BINTARGETS += blenderplayer
-  endif
-    PYLIB = $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
-    PYLIB += $(NAN_MXTEXTTOOLS)
 endif
 
-ifeq ($(OS),openbsd)
-    BINTARGETS = blenderstatic
+ifdef PY_FRAMEWORK
+        PYLIB = -framework Python
+else
     PYLIB = $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
 endif
 
 ifeq ($(OS),solaris)
-    BINTARGETS = blenderdynamic
-    BINTARGETS += blenderplayer
-  ifeq ($(CPU),sparc)
-    BINTARGETS += plugin
-  endif
-    PYLIB = $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
-    PYLIB += $(NAN_MXTEXTTOOLS)
     PYLIB += $(NAN_ZLIB)/lib/libz.a
     PULIB += $(NAN_ZLIB)/lib/libz.a
     SPLIB += $(NAN_ZLIB)/lib/libz.a
@@ -487,40 +456,6 @@ ifeq ($(OS),windows)
     PULIB += $(NAN_ZLIB)/lib/libz.a
     SPLIB += $(OCGDIR)/blender/icons/$(DEBUG_DIR)winblender.res
     SPLIB += $(NAN_ZLIB)/lib/libz.a
-
-  # This code below seems outdated and doesn't even seem to
-  # apply to the Windows platform. I've commented it 
-  # out until someone can take a good look at it and confirm 
-  # or deny. If it breaks anything blame Chris Burt / Desoto
-  #
-  #ifdef NAN_PLAYERSTATIC
-  #  PYPLAYERLIB = $(NAN_PYTHON)/static/python20.lib
-  #  BINTARGETS = blenderplayer
-  #
-  #  NAN_SND_LIBS = $(OCGDIR)/intern/SoundSystem/$(DEBUG_DIR)libSoundSystem.a
-  #  NAN_SND_LIBS += $(OCGDIR)/intern/DummySoundSystem/$(DEBUG_DIR)libDummySoundSystem.a
-  #  NAN_SND_LIBS += $(OCGDIR)/intern/OpenALSoundSystem/$(DEBUG_DIR)libOpenALSoundSystem.a
-  #  NAN_SND_LIBS += $(NAN_OPENAL)/lib/openal_static.lib
-  #  NAN_SND_LIBS += $(OCGDIR)/intern/SoundSystem/$(DEBUG_DIR)libSoundSystem.a
-  #
-  #  PYINCLUDEOK := $(shell diff -qbB gameengine/Ketsji/KX_Python.h gameengine/Ketsji/KX_Python_static.h)
-  #  ifneq (x$(PYINCLUDEOK),x)
-  #    DUMMY := $(shell cat gameengine/Ketsji/KX_Python_static.h > gameengine/Ketsji/KX_Python.h)
-  #  endif
-  #else
-  #  PYINCLUDEOK := $(shell diff -qbB gameengine/Ketsji/KX_Python.h gameengine/Ketsji/KX_Python_dynamic.h)
-  #  ifneq (x$(PYINCLUDEOK),x)
-  #    DUMMY := $(shell cat gameengine/Ketsji/KX_Python_dynamic.h > gameengine/Ketsji/KX_Python.h)
-  #  endif
-  #endif
-endif
-
-ifeq ($(NAN_JUST_BLENDERDYNAMIC),true)
-  ifeq ($(OS),darwin)
-    BINTARGETS = blenderdynamic.app
-  else
-    BINTARGETS = blenderdynamic
-  endif
 endif
 
 
@@ -536,11 +471,11 @@ endif
 
 all debug ::
        @echo "****> Make $@ by $(ID)@$(HOST) at $(MAKE_START) on $(CONFIG_GUESS)"
-    ifdef NANENV
+ifdef NANENV
        @for n in $(NANENV); do \
            echo "      $$n"; \
        done
-    endif
+endif
 
 DIR = $(OCGDIR)
 SOURCEDIR = source
@@ -558,33 +493,21 @@ clean:: linkclean debuglinkclean
 
 link: $(BINTARGETS)
        @echo "****> Build $(MAKE_START) - `date '+%H:%M:%S %d-%b-%Y'`"
-    ifdef NANENV
+ifdef NANENV
        @for n in $(NANENV); do \
            echo "      $$n"; \
        done
-    endif
+endif
 
 linkclean:
-ifeq ($(OS),darwin)
        @$(RM) -r $(DIR)/blenderstatic* \
                  $(DIR)/blenderplayer* \
                  $(DIR)/bin/*
-else
-       @$(RM) $(DIR)/blenderstatic* \
-               $(DIR)/blenderplayer* \
-               $(DIR)/bin/*
-endif
 
 debuglinkclean:
-ifeq ($(OS),darwin)
        @$(RM) -r $(DIR)/debug/blenderstatic* \
                  $(DIR)/debug/blenderplayer* \
                  $(DIR)/debug/bin/*
-else
-       @$(RM) $(DIR)/debug/blenderstatic* \
-               $(DIR)/debug/blenderplayer* \
-               $(DIR)/debug/bin/*
-endif
 
 # Shortcut for Tinderbox release builds. Mortals don't use this.
 release:
@@ -597,12 +520,6 @@ blenderdynamic: $(DIR)/$(DEBUG_DIR)bin/blender$(EXT)
 blenderplayer: $(DIR)/$(DEBUG_DIR)bin/blenderplayer$(EXT)
 blenderdynplayer: $(DIR)/$(DEBUG_DIR)bin/blenderdynplayer$(EXT)
 
-blenderplayer.app: blenderplayer
-       @$(MAKE) -C darwin/ APPLICATION=blenderplayer
-
-blenderdynamic.app: blenderdynamic
-       @$(MAKE) -C darwin/ APPLICATION=blender
-
 # XPCOM connector only for linux so far...
 ifeq ($(OS),linux)
     xplink: $(DIR)/$(DEBUG_DIR)bin/Blender3DPlugin$(SOEXT)
@@ -622,59 +539,63 @@ endif
 
 $(DIR)/$(DEBUG_DIR)bin/blenderstatic: $(OBJS) $(GRPLIB) $(COMLIB) $(PULIB)
        @echo "****> Link $@"
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        $(CCC) $(REL_CFLAGS) -DBUILD_DATE='"$(BUILD_DATE)"' -DBUILD_TIME='"$(BUILD_TIME)"' -DBUILD_PLATFORM='"$(CONFIG_GUESS)"' -DBUILD_TYPE='"static"' $(BUILDINFO_C) -c -o $(BUILDINFO_O) -DNAN_BUILDINFO
-    endif
+endif
        mkdir -p $(DIR)/$(DEBUG_DIR)bin
        $(CCC) $(LDFLAGS) -o $(DIR)/$(DEBUG_DIR)bin/blenderstatic $(BUILDINFO_O) $(OBJS) $(GRPLIB) $(COMLIB) $(PULIB) $(PYLIB) $(LLIBS) $(SADD) $(LOPTS)
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        /bin/rm $(BUILDINFO_O)
-    endif
+endif
+       @$(MAKE) -C darwin/ APPLICATION=blenderstatic
+
 
 $(DIR)/$(DEBUG_DIR)bin/blender$(EXT): $(OBJS) $(GRPLIB) $(COMLIB) $(PULIB)
        @echo "****> Link $@"
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        $(CCC) $(REL_CFLAGS) -DBUILD_DATE='"$(BUILD_DATE)"' -DBUILD_TIME='"$(BUILD_TIME)"' -DBUILD_PLATFORM='"$(CONFIG_GUESS)"' -DBUILD_TYPE='"dynamic"' $(BUILDINFO_C) -c -o $(BUILDINFO_O) -DNAN_BUILDINFO
-    endif
+endif
        mkdir -p $(DIR)/$(DEBUG_DIR)bin
        $(CCC) $(LDFLAGS) -o $(DIR)/$(DEBUG_DIR)bin/blender$(EXT) $(BUILDINFO_O) $(OBJS) $(GRPLIB) $(COMLIB) $(PULIB) $(PYLIB) $(LLIBS) $(DADD) $(LOPTS)
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        /bin/rm $(BUILDINFO_O)
-    endif
+endif
+       @$(MAKE) -C darwin/ APPLICATION=blender
+
 
 $(DIR)/$(DEBUG_DIR)bin/blenderplayer$(EXT): $(OBJS) $(SPLIB1) $(COMLIB) $(SPLIB)
        @echo "****> Link $@"
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        $(CCC) $(REL_CFLAGS) -DBUILD_DATE='"$(BUILD_DATE)"' -DBUILD_TIME='"$(BUILD_TIME)"' -DBUILD_PLATFORM='"$(CONFIG_GUESS)"' -DBUILD_TYPE='"dynamic"' $(BUILDINFO_C) -c -o $(BUILDINFO_O) -DNAN_BUILDINFO
-    endif
+endif
        mkdir -p $(DIR)/$(DEBUG_DIR)bin
        $(CCC) $(LDFLAGS) -o $(DIR)/$(DEBUG_DIR)bin/blenderplayer$(EXT) $(BUILDINFO_O) $(OBJS) $(SPLIB1) $(COMLIB) $(SPLIB) $(PYPLAYERLIB) $(LLIBS) $(DADD) $(LOPTS)
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        /bin/rm $(BUILDINFO_O)
-    endif
+endif
+       @$(MAKE) -C darwin/ APPLICATION=blenderplayer
 
 $(DIR)/$(DEBUG_DIR)bin/blenderdynplayer$(EXT): $(OBJS) $(COMLIB) $(SPLIB)
        @echo "****> Link $@"
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        $(CCC) $(REL_CFLAGS) -DBUILD_DATE='"$(BUILD_DATE)"' -DBUILD_TIME='"$(BUILD_TIME)"' -DBUILD_PLATFORM='"$(CONFIG_GUESS)"' -DBUILD_TYPE='"dynamic"' $(BUILDINFO_C) -c -o $(BUILDINFO_O) -DNAN_BUILDINFO
-    endif
+endif
        mkdir -p $(DIR)/$(DEBUG_DIR)bin
        $(CCC) $(LDFLAGS) -o $(DIR)/$(DEBUG_DIR)bin/blenderdynplayer$(EXT) $(BUILDINFO_O) $(OBJS) $(SPLIB1) $(COMLIB) $(SPLIB) $(PYLIB) $(LLIBS) $(DADD) $(LOPTS)
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        /bin/rm $(BUILDINFO_O)
-    endif
+endif
+       @$(MAKE) -C darwin/ APPLICATION=blenderplayer
 
-ifeq ($(OS),linux)
 $(DIR)/$(DEBUG_DIR)bin/Blender3DPlugin$(SOEXT): $(PLUGAPPLIB_XPLINK)
        @echo "****> Link $@"
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        $(CCC) $(REL_CFLAGS) -DBUILD_DATE='"$(BUILD_DATE)"' -DBUILD_TIME='"$(BUILD_TIME)"' -DBUILD_PLATFORM='"$(CONFIG_GUESS)"' -DBUILD_TYPE='"dynamic"' $(BUILDINFO_C) -c -o $(BUILDINFO_O) -DNAN_BUILDINFO
-    endif
+endif
        mkdir -p $(DIR)/$(DEBUG_DIR)bin
        $(CCC) $(DYNLDFLAGS) -o $@ $(PLUGAPPLIB_XPLINK) $(LOPTS)
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        /bin/rm $(BUILDINFO_O)
-    endif
 endif
 
 # Windows build needs a def file? Why? For exposing functions from the
@@ -682,40 +603,36 @@ endif
 DEFFILE = ./gameengine/GamePlayer/netscape/src/npB3DPlg.def
 
 # Windows needs a specific name format for dll.s so we give it one.
-ifeq ($(OS),windows)
 $(DIR)/$(DEBUG_DIR)npB3DPlg$(SOEXT): $(NSPLUGLIB) $(PLUGAPPLIB) $(COMLIB) $(SPLIB)
        @echo "****> Link $@"
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        $(CCC) $(REL_CFLAGS) -DBUILD_DATE='"$(BUILD_DATE)"' -DBUILD_TIME='"$(BUILD_TIME)"' -DBUILD_PLATFORM='"$(CONFIG_GUESS)"' -DBUILD_TYPE='"dynamic"' $(BUILDINFO_C) -c -o $(BUILDINFO_O) -DNAN_BUILDINFO
-    endif
+endif
 #      $(CCC) $(DYNLDFLAGS) -o $@ $(NSPLUGLIB) $(PLUGAPPLIB) $(COMLIB) $(SPLIB) $(PYLIB) $(PLUGREMLIB) $(LLIBS) $(DADD) $(LOPTS) 
        $(CCC) $(DYNLDFLAGS) -o $@ $(NSPLUGLIB) $(PLUGAPPLIB) $(COMLIB) $(SPLIB) $(PYLIB) $(PLUGREMLIB) $(LLIBS) $(DADD) $(LOPTS) /def:$(DEFFILE)
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        /bin/rm $(BUILDINFO_O)
-    endif
 endif
 
-ifeq ($(OS),$(findstring $(OS), "linux freebsd irix solaris"))
 $(DIR)/$(DEBUG_DIR)bin/npBlender3DPlugin$(SOEXT): $(NSPLUGLIB) $(PLUGAPPLIB) $(COMLIB) $(SPLIB)
        @echo "****> Link $@"
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        $(CCC) $(REL_CFLAGS) -DBUILD_DATE='"$(BUILD_DATE)"' -DBUILD_TIME='"$(BUILD_TIME)"' -DBUILD_PLATFORM='"$(CONFIG_GUESS)"' -DBUILD_TYPE='"dynamic"' $(BUILDINFO_C) -c -o $(BUILDINFO_O) -DNAN_BUILDINFO
-    endif
+endif
        mkdir -p $(DIR)/$(DEBUG_DIR)bin
        $(CCC) $(DYNLDFLAGS) -o $@ $(NSPLUGLIB) $(PLUGAPPLIB) $(COMLIB) $(SPLIB) $(PYLIB) $(PLUGREMLIB) $(LLIBS) $(DADD) $(LOPTS)
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        /bin/rm $(BUILDINFO_O)
-    endif
+endif
 
 $(DIR)/$(DEBUG_DIR)bin/npTestPlugin$(SOEXT): $(NSPLUGLIB)
        @echo "****> Link $@"
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        $(CCC) $(REL_CFLAGS) -DBUILD_DATE='"$(BUILD_DATE)"' -DBUILD_TIME='"$(BUILD_TIME)"' -DBUILD_PLATFORM='"$(CONFIG_GUESS)"' -DBUILD_TYPE='"dynamic"' $(BUILDINFO_C) -c -o $(BUILDINFO_O) -DNAN_BUILDINFO
-    endif
+endif
        mkdir -p $(DIR)/$(DEBUG_DIR)bin
        $(CCC) $(DYNLDFLAGS) -o $@ $(NSPLUGLIB) $(PLUGTESTLIB) $(LLIBS) $(DADD) $(LOPTS)
-    ifdef NAN_BUILDINFO
+ifdef NAN_BUILDINFO
        /bin/rm $(BUILDINFO_O)
-    endif
 endif
 
index 98df5d89a60bdfb02faebf6f176ea059a58b69f3..00503e9f8b458d673aa3587405e931435bb418fc 100644 (file)
@@ -40,7 +40,7 @@ DIRS += Converter
 DIRS += Expressions GameLogic Ketsji Rasterizer SceneGraph
 DIRS += Network Physics
 
-ifneq ($(NAN_JUST_BLENDERDYNAMIC),true)
+ifeq ($(WITH_BF_BLENDERGAMEENGINE),true)
   DIRS += GamePlayer
 endif
 
index f2e02fc4c16dff5d999c33c758a5db2e4b7e5ec7..8b4d775a7c9b6a57d43916d1483fb7f1a1f07da0 100644 (file)
@@ -59,6 +59,13 @@ all debug::
     # 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_GAMEENGINE ?= true
+    export WITH_BF_GAMEPLAYER ?= true
+    export WITH_BF_WEBPLUGIN ?= false
+
     export NAN_MOTO ?= $(LCGDIR)/moto
 ifeq ($(FREE_WINDOWS), true)
     export NAN_SOLID ?= $(LCGDIR)/gcc/solid
@@ -111,28 +118,28 @@ endif
       ifeq ($(FREE_WINDOWS), true)
         export NAN_PTHREADS ?= $(LCGDIR)/pthreads
         export NAN_OPENEXR ?= $(LCGDIR)/gcc/openexr
-        export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a
+        export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libIlmThread.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a
         export NAN_OPENEXR_INC ?= -I$(NAN_OPENEXR)/include -I$(NAN_OPENEXR)/include/OpenEXR
       else
         export NAN_OPENEXR ?= $(LCGDIR)/openexr
-        export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/IlmImf.lib $(NAN_OPENEXR)/lib/Half.lib $(NAN_OPENEXR)/lib/Iex.lib
+        export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/IlmImf.lib $(NAN_OPENEXR)/lib/libIlmThread.lib $(NAN_OPENEXR)/lib/Half.lib $(NAN_OPENEXR)/lib/Iex.lib
         export NAN_OPENEXR_INC ?= -I$(NAN_OPENEXR)/include -I$(NAN_OPENEXR)/include/IlmImf -I$(NAN_OPENEXR)/include/Imath -I$(NAN_OPENEXR)/include/Iex
       endif
     else
       ifeq ($(OS),darwin)
           export NAN_OPENEXR ?= $(LCGDIR)/openexr
          ifeq ($(CPU),powerpc)
-             export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a
+             export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENERX)/lib/libIlmThread.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a
          else
-             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_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENERX)/lib/libIlmThread.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a $(NAN_OPENEXR)/lib/libIlmThread.a
          endif
       else
         ifeq ($(OS),linux)
           export NAN_OPENEXR ?= /usr
-         export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a
+         export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libIlmThread.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a
         else
           export NAN_OPENEXR ?= /usr/local
-         export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a
+         export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENERX)/lib/libIlmThread.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a
         endif
       endif
       export NAN_OPENEXR_INC ?= -I$(NAN_OPENEXR)/include -I$(NAN_OPENEXR)/include/OpenEXR
@@ -394,6 +401,7 @@ endif
     ifndef NAN_NO_FFMPEG
          export WITH_FFMPEG ?= true
     endif
+
   else
   ifeq ($(OS),openbsd)
 
@@ -575,6 +583,7 @@ endif
 
     # enable freetype2 support for text objects
     #export WITH_FREETYPE2 ?= true
+
   endif
 
 endif