move nan mk files from source/ into build_files/make/
This commit is contained in:
472
build_files/make/nan_compile.mk
Normal file
472
build_files/make/nan_compile.mk
Normal file
@@ -0,0 +1,472 @@
|
||||
# -*- 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 *****
|
||||
#
|
||||
# Compile and archive
|
||||
|
||||
include nan_definitions.mk
|
||||
|
||||
CPPFLAGS ?= $(NAN_CPPFLAGS)
|
||||
|
||||
# common parts ---------------------------------------------------
|
||||
|
||||
# Uncomment next lines to enable integrated game engine
|
||||
ifneq ($(NAN_NO_KETSJI), true)
|
||||
CFLAGS += -DGAMEBLENDER=1
|
||||
ifeq ($(NAN_USE_BULLET), true)
|
||||
CFLAGS += -DUSE_BULLET
|
||||
CCFLAGS += -DUSE_BULLET
|
||||
endif
|
||||
else
|
||||
CPPFLAGS += -DNO_KETSJI
|
||||
endif
|
||||
|
||||
ifeq ($(BF_PROFILE), true)
|
||||
CFLAGS += -pg
|
||||
CCFLAGS += -pg
|
||||
endif
|
||||
|
||||
ifeq ($(WITH_BF_OPENMP), true)
|
||||
CFLAGS += -fopenmp
|
||||
CCFLAGS += -fopenmp
|
||||
endif
|
||||
|
||||
ifdef NAN_DEBUG
|
||||
CFLAGS += $(NAN_DEBUG)
|
||||
CCFLAGS += $(NAN_DEBUG)
|
||||
endif
|
||||
|
||||
REL_CFLAGS += -DNDEBUG
|
||||
REL_CCFLAGS += -DNDEBUG
|
||||
DBG_CFLAGS += -g
|
||||
DBG_CCFLAGS += -g
|
||||
|
||||
# OS dependent parts ---------------------------------------------------
|
||||
|
||||
ifeq ($(OS),darwin)
|
||||
CC ?= gcc
|
||||
CCC ?= g++
|
||||
ifeq ($(MACOSX_DEPLOYMENT_TARGET), 10.4)
|
||||
CC = gcc-4.0
|
||||
CCC = g++-4.0
|
||||
else
|
||||
ifeq ($(MACOSX_DEPLOYMENT_TARGET), 10.5)
|
||||
CC = gcc-4.2
|
||||
CCC = g++-4.2
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CPU),powerpc)
|
||||
CFLAGS += -pipe -fPIC -mcpu=7450 -mtune=G5 -funsigned-char -fno-strict-aliasing
|
||||
CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
|
||||
else
|
||||
CFLAGS += -pipe -fPIC -funsigned-char
|
||||
CCFLAGS += -pipe -fPIC -funsigned-char
|
||||
endif
|
||||
|
||||
|
||||
CFLAGS += -arch $(MACOSX_ARCHITECTURE) #-isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MACOSX_MIN_VERS)
|
||||
CCFLAGS += -arch $(MACOSX_ARCHITECTURE) #-isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MACOSX_MIN_VERS)
|
||||
|
||||
ifeq ($(MACOSX_ARCHITECTURE), $(findstring $(MACOSX_ARCHITECTURE), "i386 x86_64"))
|
||||
REL_CFLAGS += -O2 -ftree-vectorize -msse -msse2 -msse3
|
||||
REL_CCFLAGS += -O2 -ftree-vectorize -msse -msse2 -msse3
|
||||
else
|
||||
REL_CFLAGS += -O2
|
||||
REL_CCFLAGS += -O2
|
||||
endif
|
||||
|
||||
CPPFLAGS += -D_THREAD_SAFE
|
||||
|
||||
ifeq ($(WITH_COCOA), true)
|
||||
CPPFLAGS += -DGHOST_COCOA
|
||||
endif
|
||||
ifeq ($(USE_QTKIT), true)
|
||||
CPPFLAGS += -DUSE_QTKIT
|
||||
endif
|
||||
|
||||
NAN_DEPEND = true
|
||||
OPENGL_HEADERS = /System/Library/Frameworks/OpenGL.framework
|
||||
AR = ar
|
||||
ARFLAGS = ruv
|
||||
RANLIB = ranlib
|
||||
ARFLAGSQUIET = ru
|
||||
endif
|
||||
|
||||
ifeq ($(OS),freebsd)
|
||||
CC ?= gcc
|
||||
CCC ?= g++
|
||||
JAVAC = javac
|
||||
JAVAH = javah
|
||||
CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
|
||||
CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
|
||||
REL_CFLAGS += -O2
|
||||
REL_CCFLAGS += -O2
|
||||
CPPFLAGS += -D_THREAD_SAFE
|
||||
NAN_DEPEND = true
|
||||
OPENGL_HEADERS = /usr/X11R6/include
|
||||
JAVA_HEADERS = /usr/local/jdk1.3.1/include
|
||||
JAVA_SYSTEM_HEADERS = /usr/local/jdk1.3.1/include/freebsd
|
||||
AR = ar
|
||||
ARFLAGS = ruv
|
||||
ARFLAGSQUIET = ru
|
||||
endif
|
||||
|
||||
ifeq ($(OS),irix)
|
||||
ifeq ($(IRIX_USE_GCC),true)
|
||||
CC ?= gcc
|
||||
CCC ?= g++
|
||||
CFLAGS += -fPIC -funsigned-char -fno-strict-aliasing -mabi=n32 -mips4
|
||||
CCFLAGS += -fPIC -fpermissive -funsigned-char -fno-strict-aliasing -mabi=n32 -mips4
|
||||
REL_CFLAGS += -O2
|
||||
REL_CCFLAGS += -O2
|
||||
DBG_CFLAGS += -g3 -gdwarf-2 -ggdb
|
||||
DBG_CCFLAGS += -g3 -gdwarf-2 -ggdb
|
||||
else
|
||||
CC ?= cc
|
||||
CCC ?= CC
|
||||
CFLAGS += -n32 -mips3 -Xcpluscomm
|
||||
CCFLAGS += -n32 -mips3 -Xcpluscomm -LANG:std
|
||||
ifdef MIPS73_ISOHEADERS
|
||||
CCFLAGS += -LANG:libc_in_namespace_std=off -I$(MIPS73_ISOHEADERS)
|
||||
else
|
||||
CCFLAGS += -LANG:libc_in_namespace_std=off
|
||||
endif
|
||||
REL_CFLAGS += -n32 -mips3 -O2 -OPT:Olimit=0
|
||||
REL_CCFLAGS += -n32 -mips3 -O2 -OPT:Olimit=0
|
||||
endif
|
||||
OPENGL_HEADERS = /usr/include
|
||||
NAN_DEPEND = true
|
||||
AR = CC
|
||||
ARFLAGS = -ar -o
|
||||
ARFLAGSQUIET = -ar -o
|
||||
endif
|
||||
|
||||
ifeq ($(OS),linux)
|
||||
CC ?= gcc
|
||||
CCC ?= g++
|
||||
# CFLAGS += -pipe
|
||||
# CCFLAGS += -pipe
|
||||
CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
|
||||
CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
|
||||
REL_CFLAGS += -O2
|
||||
REL_CCFLAGS += -O2
|
||||
NAN_DEPEND = true
|
||||
ifeq ($(CPU),alpha)
|
||||
CFLAGS += -mieee
|
||||
endif
|
||||
OPENGL_HEADERS = /usr/X11R6/include
|
||||
AR = ar
|
||||
ARFLAGS = ruv
|
||||
ARFLAGSQUIET = ru
|
||||
endif
|
||||
|
||||
ifeq ($(OS),openbsd)
|
||||
CC ?= gcc
|
||||
CCC ?= g++
|
||||
CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
|
||||
CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
|
||||
REL_CFLAGS += -O2
|
||||
REL_CCFLAGS += -O2
|
||||
NAN_DEPEND = true
|
||||
CPPFLAGS += -D__FreeBSD__
|
||||
OPENGL_HEADERS = /usr/X11R6/include
|
||||
AR = ar
|
||||
ARFLAGS = ruv
|
||||
ARFLAGSQUIET = ru
|
||||
endif
|
||||
|
||||
ifeq ($(OS),solaris)
|
||||
# Adding gcc flag to $CC is not good, however if its not there makesdna wont build - Campbell
|
||||
ifeq (x86_64, $(findstring x86_64, $(CPU)))
|
||||
CC ?= gcc -m64
|
||||
CCC ?= g++ -m64
|
||||
else
|
||||
CC ?= gcc
|
||||
CCC ?= g++
|
||||
#CC ?= cc
|
||||
#CCC ?= CC
|
||||
endif
|
||||
|
||||
JAVAC = javac
|
||||
JAVAH = javah
|
||||
CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
|
||||
CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
|
||||
# CFLAGS += "-fast -xdepend -xarch=v8plus -xO3 -xlibmil -KPIC -DPIC -xchar=unsigned"
|
||||
# CCFLAGS += "-fast -xdepend -xarch=v8plus -xO3 -xlibmil -xlibmopt -features=tmplife -norunpath -KPIC -DPIC -xchar=unsigned"
|
||||
|
||||
# Note, you might still want to compile a 32 bit binary if you have a 64bit system. if so remove the following lines
|
||||
# ifeq ($(findstring 64,$(CPU)), 64)
|
||||
# CFLAGS += -m64
|
||||
# CCFLAGS += -m64
|
||||
# endif
|
||||
|
||||
REL_CFLAGS += -O2
|
||||
REL_CCFLAGS += -O2
|
||||
|
||||
NAN_DEPEND = true
|
||||
# ifeq ($(CPU),sparc)
|
||||
ifeq ($(findstring sparc,$(CPU)), sparc)
|
||||
OPENGL_HEADERS = /usr/openwin/share/include
|
||||
CPPFLAGS += -DSUN_OGL_NO_VERTEX_MACROS
|
||||
JAVA_HEADERS = /usr/java/include
|
||||
JAVA_SYSTEM_HEADERS = /usr/java/include/solaris
|
||||
else
|
||||
# OPENGL_HEADERS = /usr/X11/include/mesa
|
||||
OPENGL_HEADERS = /usr/X11/include/
|
||||
endif
|
||||
AR = ar
|
||||
ARFLAGS = ruv
|
||||
ARFLAGSQUIET = ru
|
||||
endif
|
||||
|
||||
ifeq ($(OS),windows)
|
||||
ifeq ($(FREE_WINDOWS),true)
|
||||
CC ?= gcc
|
||||
CCC ?= g++
|
||||
CFLAGS += -pipe -mno-cygwin -mwindows -funsigned-char -fno-strict-aliasing
|
||||
CCFLAGS += -pipe -mno-cygwin -mwindows -funsigned-char -fno-strict-aliasing
|
||||
CPPFLAGS += -DFREE_WINDOWS
|
||||
REL_CFLAGS += -O2
|
||||
REL_CCFLAGS += -O2
|
||||
NAN_DEPEND = true
|
||||
#OPENGL_HEADERS = /usr/include/w32api
|
||||
OPENGL_HEADERS = ./
|
||||
AR = ar
|
||||
ARFLAGS = ruv
|
||||
ARFLAGSQUIET = ru
|
||||
WINRC = $(wildcard *.rc)
|
||||
RANLIB = ranlib
|
||||
else
|
||||
CC ?= $(SRCHOME)/tools/cygwin/cl_wrapper.pl
|
||||
CCC ?= $(SRCHOME)/tools/cygwin/cl_wrapper.pl
|
||||
JAVAC = $(SRCHOME)/tools/cygwin/java_wrapper.pl -c
|
||||
JAVAH = $(SRCHOME)/tools/cygwin/java_wrapper.pl -h
|
||||
REL_CFLAGS += /O2
|
||||
REL_CCFLAGS += /O2 -GX
|
||||
DBG_CFLAGS += /Fd$(DIR)/debug/
|
||||
DBG_CCFLAGS += /Fd$(DIR)/debug/
|
||||
CFLAGS += /MT
|
||||
CCFLAGS += /MT
|
||||
NAN_DEPEND = true
|
||||
OPENGL_HEADERS = .
|
||||
CPPFLAGS += -DWIN32 -D_WIN32 -D__WIN32
|
||||
CPPFLAGS += -D_M_IX86
|
||||
CPPFLAGS += -I"/cygdrive/c/Program Files/Microsoft Visual Studio/VC98/include"
|
||||
JAVA_HEADERS = /cygdrive/c/j2sdk1.4.0-beta3/include
|
||||
JAVA_SYSTEM_HEADERS = /cygdrive/c/j2sdk1.4.0-beta3/include/win32
|
||||
CPP = $(SRCHOME)/tools/cygwin/cl_wrapper.pl
|
||||
AR = ar
|
||||
ARFLAGS = ruv
|
||||
ARFLAGSQUIET = ru
|
||||
WINRC = $(wildcard *.rc)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq (debug, $(findstring debug, $(MAKECMDGOALS)))
|
||||
export DEBUG_DIR=debug/
|
||||
endif
|
||||
|
||||
ifneq (x$(DEBUG_DIR), x)
|
||||
CFLAGS +=$(DBG_CFLAGS)
|
||||
CCFLAGS+=$(DBG_CCFLAGS)
|
||||
else
|
||||
CFLAGS +=$(REL_CFLAGS)
|
||||
CCFLAGS+=$(REL_CCFLAGS)
|
||||
endif
|
||||
|
||||
# Note: include nan_warn's LEVEL_*_WARNINGS after CC/OS have been set.
|
||||
include nan_warn.mk
|
||||
|
||||
# compile rules
|
||||
|
||||
default: all
|
||||
|
||||
$(DIR)/$(DEBUG_DIR)%.o: %.c
|
||||
ifdef NAN_DEPEND
|
||||
@set -e; $(CC) -M $(CPPFLAGS) $< 2>/dev/null \
|
||||
| sed 's@\($*\)\.o[ :]*@$(DIR)/$(DEBUG_DIR)\1.o : @g' \
|
||||
> $(DIR)/$(DEBUG_DIR)$*.d; \
|
||||
[ -s $(DIR)/$(DEBUG_DIR)$*.d ] || $(RM) $(DIR)/$(DEBUG_DIR)$*.d
|
||||
endif
|
||||
ifdef NAN_QUIET
|
||||
@echo " -- $< -- "
|
||||
@$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
|
||||
else
|
||||
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
|
||||
endif
|
||||
|
||||
$(DIR)/$(DEBUG_DIR)%.o: %.cpp
|
||||
ifdef NAN_DEPEND
|
||||
@set -e; $(CCC) -M $(CPPFLAGS) $< 2>/dev/null \
|
||||
| sed 's@\($*\)\.o[ :]*@$(DIR)/$(DEBUG_DIR)\1.o : @g' \
|
||||
> $(DIR)/$(DEBUG_DIR)$*.d; \
|
||||
[ -s $(DIR)/$(DEBUG_DIR)$*.d ] || $(RM) $(DIR)/$(DEBUG_DIR)$*.d
|
||||
endif
|
||||
ifdef NAN_QUIET
|
||||
@echo " -- $< -- "
|
||||
@$(CCC) -c $(CCFLAGS) $(CPPFLAGS) $< -o $@
|
||||
else
|
||||
$(CCC) -c $(CCFLAGS) $(CPPFLAGS) $< -o $@
|
||||
endif
|
||||
|
||||
$(DIR)/$(DEBUG_DIR)%.o: %.mm
|
||||
ifdef NAN_DEPEND
|
||||
@set -e; $(CC) -M $(CPPFLAGS) $< 2>/dev/null \
|
||||
| sed 's@\($*\)\.o[ :]*@$(DIR)/$(DEBUG_DIR)\1.o : @g' \
|
||||
> $(DIR)/$(DEBUG_DIR)$*.d; \
|
||||
[ -s $(DIR)/$(DEBUG_DIR)$*.d ] || $(RM) $(DIR)/$(DEBUG_DIR)$*.d
|
||||
endif
|
||||
ifdef NAN_QUIET
|
||||
@echo " -- $< -- "
|
||||
@$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
|
||||
else
|
||||
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
|
||||
endif
|
||||
|
||||
$(DIR)/$(DEBUG_DIR)%.o: %.m
|
||||
ifdef NAN_DEPEND
|
||||
@set -e; $(CC) -M $(CPPFLAGS) $< 2>/dev/null \
|
||||
| sed 's@\($*\)\.o[ :]*@$(DIR)/$(DEBUG_DIR)\1.o : @g' \
|
||||
> $(DIR)/$(DEBUG_DIR)$*.d; \
|
||||
[ -s $(DIR)/$(DEBUG_DIR)$*.d ] || $(RM) $(DIR)/$(DEBUG_DIR)$*.d
|
||||
endif
|
||||
ifdef NAN_QUIET
|
||||
@echo " -- $< -- "
|
||||
@$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
|
||||
else
|
||||
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
|
||||
endif
|
||||
|
||||
|
||||
$(DIR)/$(DEBUG_DIR)%.res: %.rc
|
||||
ifeq ($(FREE_WINDOWS),true)
|
||||
windres $< -O coff -o $@
|
||||
else
|
||||
$(SRCHOME)/tools/cygwin/cl_wrapper.pl - rc /fo$@ $<
|
||||
endif
|
||||
|
||||
$(DIR)/$(DEBUG_DIR)%.class: %.java
|
||||
ifdef JARS
|
||||
$(JAVAC) -verbose -g -deprecation -sourcepath . -classpath "$(JARS)" -d $(DIR)/$(DEBUG_DIR) $<
|
||||
else
|
||||
$(JAVAC) -verbose -g -deprecation -d $(DIR)/$(DEBUG_DIR) $<
|
||||
endif
|
||||
|
||||
$(DIR)/$(DEBUG_DIR)%.h: $(DIR)/$(DEBUG_DIR)%.class
|
||||
$(JAVAH) -classpath $(DIR)/$(DEBUG_DIR) -d $(DIR)/$(DEBUG_DIR) -jni $*
|
||||
|
||||
%.h:
|
||||
@echo "WARNING: Fake header creation rule used, dependencies will be remade"
|
||||
|
||||
CSRCS ?= $(wildcard *.c)
|
||||
CCSRCS ?= $(wildcard *.cpp)
|
||||
JSRCS ?= $(wildcard *.java)
|
||||
|
||||
ifdef NAN_DEPEND
|
||||
-include $(CSRCS:%.c=$(DIR)/$(DEBUG_DIR)%.d) $(CCSRCS:%.cpp=$(DIR)/$(DEBUG_DIR)%.d) $(OCCSRCS:$.mm=$(DIR)/$(DEBUG_DIR)%.d) $(OCSRCS:$.m=$(DIR)/$(DEBUG_DIR)%.d)
|
||||
endif
|
||||
|
||||
OBJS_AR := $(OBJS)
|
||||
OBJS_AR += $(CSRCS:%.c=%.o)
|
||||
OBJS_AR += $(CCSRCS:%.cpp=%.o)
|
||||
OBJS_AR += $(OCCSRCS:%.mm=%.o)
|
||||
OBJS_AR += $(OCSRCS:%.m=%.o)
|
||||
OBJS_AR += $(WINRC:%.rc=%.res)
|
||||
|
||||
OBJS += $(CSRCS:%.c=$(DIR)/$(DEBUG_DIR)%.o)
|
||||
OBJS += $(CCSRCS:%.cpp=$(DIR)/$(DEBUG_DIR)%.o)
|
||||
OBJS += $(OCCSRCS:%.mm=$(DIR)/$(DEBUG_DIR)%.o)
|
||||
OBJS += $(OCSRCS:%.m=$(DIR)/$(DEBUG_DIR)%.o)
|
||||
OBJS += $(WINRC:%.rc=$(DIR)/$(DEBUG_DIR)%.res)
|
||||
|
||||
JCLASS += $(JSRCS:%.java=$(DIR)/$(DEBUG_DIR)%.class)
|
||||
|
||||
LIB_a = $(DIR)/$(DEBUG_DIR)lib$(LIBNAME).a
|
||||
|
||||
$(LIB_a): $(OBJS)
|
||||
# $OBJS can be empty except for some spaces
|
||||
ifneq (x, x$(strip $(OBJS)))
|
||||
ifdef NAN_PARANOID
|
||||
@$(RM) $(LIB_a)
|
||||
ifdef NAN_QUIET
|
||||
@echo " -- lib: lib$(LIBNAME).a -- "
|
||||
@cd $(DIR)/$(DEBUG_DIR); $(AR) $(ARFLAGSQUIET) $@ $(OBJS_AR)
|
||||
else
|
||||
cd $(DIR)/$(DEBUG_DIR); $(AR) $(ARFLAGS) $@ $(OBJS_AR)
|
||||
endif
|
||||
else
|
||||
ifdef NAN_QUIET
|
||||
@echo " -- lib: lib$(LIBNAME).a -- "
|
||||
@$(AR) $(ARFLAGSQUIET) $@ $?
|
||||
else
|
||||
$(AR) $(ARFLAGS) $@ $?
|
||||
endif
|
||||
endif
|
||||
ifdef RANLIB
|
||||
$(RANLIB) $@
|
||||
endif
|
||||
endif
|
||||
|
||||
ALLTARGETS ?= $(LIB_a)
|
||||
|
||||
all debug :: makedir $(ALLTARGETS)
|
||||
|
||||
lib: $(LIB_a)
|
||||
|
||||
creator: $(OBJS)
|
||||
@echo "====> make creator subtarget in `pwd | sed 's/^.*develop\///'`"
|
||||
@$(MAKE) makedir DIR=$(DIR)/$(DEBUG_DIR)cre
|
||||
@$(MAKE) lib CSRCS="$(CRE_CSRCS)" LIBNAME=$(LIBNAME)$@
|
||||
|
||||
publisher: $(OBJS)
|
||||
@echo "====> make publisher subtarget in `pwd | sed 's/^.*develop\///'`"
|
||||
@$(MAKE) makedir DIR=$(DIR)/$(DEBUG_DIR)pub
|
||||
@$(MAKE) lib CSRCS="$(PUB_CSRCS)" LIBNAME=$(LIBNAME)$@
|
||||
|
||||
player: $(OBJS)
|
||||
@echo "====> make player subtarget in `pwd | sed 's/^.*develop\///'`"
|
||||
@$(MAKE) makedir DIR=$(DIR)/player/$(DEBUG_DIR)
|
||||
@$(MAKE) lib CSRCS="$(SAP_CSRCS)" LIBNAME=$(LIBNAME)$@
|
||||
|
||||
clean:: optclean debugclean
|
||||
|
||||
optclean::
|
||||
@-[ ! -d $(DIR) ] || ( cd $(DIR) && \
|
||||
$(RM) *.o *.a *.d *.res ii_files/*.ii *.class *.h )
|
||||
|
||||
debugclean::
|
||||
@-[ ! -d $(DIR)/debug ] || ( cd $(DIR)/debug && \
|
||||
$(RM) *.o *.a *.d *.res ii_files/*.ii *.class *.h )
|
||||
|
||||
.PHONY: makedir
|
||||
makedir::
|
||||
@# don't use mkdir -p. Cygwin will try to make network paths and fail
|
||||
@[ -d $(DIR) ] || mkdir $(DIR)
|
||||
@[ -d $(DIR)/debug ] || mkdir $(DIR)/debug
|
||||
|
630
build_files/make/nan_definitions.mk
Normal file
630
build_files/make/nan_definitions.mk
Normal file
@@ -0,0 +1,630 @@
|
||||
# -*- 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 $(NAN_FFMPEG)/lib/libtheora.a $(NAN_FFMPEG)/lib/libtheoradec.a $(NAN_FFMPEG)/lib/libtheoraenc.a $(NAN_FFMPEG)/lib/libvorbis.a $(NAN_FFMPEG)/lib/libvorbisenc.a $(NAN_FFMPEG)/lib/libvorbisfile.a $(NAN_FFMPEG)/lib/libogg.a -lbz2
|
||||
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 ?= $(LCGDIR)/jack
|
||||
export NAN_JACKCFLAGS ?= -I$(NAN_JACK)/include/jack
|
||||
export NAN_JACKLIBS ?= $(NAN_JACK)/lib/libjack.a
|
||||
endif
|
||||
|
||||
ifeq ($(WITH_SNDFILE),true)
|
||||
export NAN_SNDFILE ?= $(LCGDIR)/sndfile
|
||||
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
|
||||
|
||||
export WITH_TIFF ?= true
|
||||
|
||||
# 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_VERSION ?= 3.1
|
||||
export NAN_PYTHON ?= /System/Library/Frameworks/Python.framework/Versions/$(NAN_PYTHON_VERSION)
|
||||
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
|
||||
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 $(BF_OPENCOLLADA)/lib/libftoa.a $(BF_OPENCOLLADA)/lib/libbuffer.a -lxml2
|
||||
|
||||
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 platforms 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
|
||||
|
||||
# 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
|
||||
|
||||
ifeq ($(CPU), powerpc)
|
||||
# Different endianess will make it fail, rely on other platforms for checks
|
||||
export BF_VERIFY_MO_FILES = false
|
||||
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/libpython31.a # NOT TESTED, PROBABLY BROKEN
|
||||
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/python31.lib # NOT TESTED, PROBABLY BROKEN
|
||||
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
|
||||
|
||||
# default tiff libs
|
||||
export NAN_TIFF_LIBS ?= $(NAN_TIFF)/lib/libtiff.a
|
||||
|
||||
endif # CONFIG_GUESS
|
||||
|
||||
# Don't want to build the gameengine?
|
||||
ifeq ($(NAN_NO_KETSJI), true)
|
||||
export NAN_JUST_BLENDERDYNAMIC=true
|
||||
endif
|
198
build_files/make/nan_link.mk
Normal file
198
build_files/make/nan_link.mk
Normal file
@@ -0,0 +1,198 @@
|
||||
# -*- 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
#
|
||||
# linking only
|
||||
|
||||
include nan_definitions.mk
|
||||
|
||||
ifdef NAN_DEBUG
|
||||
LDFLAGS += $(NAN_DEBUG)
|
||||
endif
|
||||
|
||||
DBG_LDFLAGS += -g
|
||||
|
||||
ifneq (x$(DEBUG_DIR), x)
|
||||
LDFLAGS+=$(DBG_LDFLAGS)
|
||||
else
|
||||
LDFLAGS+=$(REL_LDFLAGS)
|
||||
endif
|
||||
|
||||
######################## OS dependencies (alphabetic!) ################
|
||||
|
||||
# default (overriden by windows)
|
||||
SOEXT = .so
|
||||
|
||||
ifeq ($(OS),darwin)
|
||||
LLIBS += -lGLU -lGL
|
||||
LLIBS += -lz -lstdc++
|
||||
ifdef USE_OSX10.4STUBS
|
||||
LLIBS +=-lSystemStubs
|
||||
endif
|
||||
ifeq ($(WITH_COCOA), true)
|
||||
LLIBS += -framework Cocoa
|
||||
endif
|
||||
LLIBS += -framework Carbon -framework AGL -framework OpenGL
|
||||
ifeq ($(WITH_QUICKTIME), true)
|
||||
ifeq ($(USE_QTKIT), true)
|
||||
LLIBS += -framework QTKit
|
||||
else
|
||||
LLIBS += -framework QuickTime
|
||||
endif
|
||||
endif
|
||||
LLIBS += -framework CoreAudio
|
||||
LLIBS += -framework AudioUnit -framework AudioToolbox
|
||||
LDFLAGS += -L/System/Library/Frameworks/OpenGL.framework/Libraries
|
||||
# useful for crosscompiling
|
||||
LDFLAGS += -arch $(MACOSX_ARCHITECTURE) #-isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MACOSX_MIN_VERS)
|
||||
|
||||
DBG_LDFLAGS += -L/System/Library/Frameworks/OpenGL.framework/Libraries
|
||||
endif
|
||||
|
||||
ifeq ($(OS),freebsd)
|
||||
LLIBS = -L/usr/X11R6/lib -lX11 -lXmu -lXi -lm -lutil -lz -pthread -lc_r
|
||||
DADD = -lGL -lGLU
|
||||
DYNLDFLAGS = -shared $(LDFLAGS)
|
||||
LOPTS = -Wl,--export-dynamic
|
||||
endif
|
||||
|
||||
ifeq ($(OS),irix)
|
||||
ifeq ($(IRIX_USE_GCC), true)
|
||||
LDFLAGS += -mabi=n32 -mips4
|
||||
DBG_LDFLAGS += -LD_LAYOUT:lgot_buffer=40
|
||||
else
|
||||
LDFLAGS += -n32 -mips3
|
||||
LDFLAGS += -woff 84,171
|
||||
endif
|
||||
LLIBS = -lmovieGL -lGLU -lGL -lXmu -lXext -lXi -lX11 -lc -lm -ldmedia
|
||||
LLIBS += -lcl -laudio
|
||||
ifneq ($(IRIX_USE_GCC), true)
|
||||
LLIBS += -lCio -ldb
|
||||
endif
|
||||
LLIBS += -lz -lpthread
|
||||
DYNLDFLAGS = -shared $(LDFLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(OS),linux)
|
||||
ifeq ($(CPU),alpha)
|
||||
COMMENT = "MESA 3.1"
|
||||
LLIBS = -lGL -lGLU -L/usr/X11R6/lib/ -lXmu -lXext -lX11
|
||||
LLIBS += -lc -lm -ldl -lutil
|
||||
LOPTS = -export-dynamic
|
||||
endif
|
||||
ifeq ($(CPU),$(findstring $(CPU), "i386 x86_64 ia64 parisc64 powerpc sparc64"))
|
||||
COMMENT = "MESA 3.1"
|
||||
LLIBS = -L$(NAN_MESA)/lib -L/usr/X11R6/lib -lXext -lX11 -lXi
|
||||
LLIBS += -lutil -lc -lm -ldl -lpthread
|
||||
LLIBS += -L$(NAN_PYTHON)/lib -Wl,-rpath -Wl,$(NAN_PYTHON)/lib -lpython$(NAN_PYTHON_VERSION)
|
||||
LOPTS = -export-dynamic
|
||||
DADD = -lGL -lGLU
|
||||
SADD = $(NAN_MESA)/lib/libGL.a $(NAN_MESA)/lib/libGLU.a
|
||||
DYNLDFLAGS = -shared $(LDFLAGS)
|
||||
endif
|
||||
LLIBS += -lz
|
||||
endif
|
||||
|
||||
ifeq ($(OS),openbsd)
|
||||
SADD = /usr/local/lib/libGL.a /usr/local/lib/libGLU.a
|
||||
SADD += /usr/X11R6/lib/libXmu.a /usr/X11R6/lib/libXext.a
|
||||
SADD += /usr/X11R6/lib/libX11.a /usr/lib/libm.a -pthread
|
||||
endif
|
||||
|
||||
ifeq ($(OS),solaris)
|
||||
ifeq (x86_64, $(findstring x86_64, $(CPU)))
|
||||
LLIBS = -lrt
|
||||
LLIBS += -L$(NAN_MESA)/lib/amd64
|
||||
else
|
||||
LLIBS += -L$(NAN_MESA)/lib
|
||||
endif
|
||||
|
||||
LLIBS += $(NAN_ZLIB)/lib/libz.a -lGLU -lGL -lXmu -lXext -lXi -lX11 -lc -lm -ldl -lsocket -lnsl
|
||||
DYNLDFLAGS = -shared $(LDFLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(OS),windows)
|
||||
EXT = .exe
|
||||
SOEXT = .dll
|
||||
ifeq ($(FREE_WINDOWS),true)
|
||||
MINGWLIB = /usr/lib/w32api
|
||||
LDFLAGS += -mwindows -mno-cygwin -mconsole
|
||||
DADD += -L/usr/lib/w32api -lnetapi32 -lopengl32 -lglu32 -lshfolder
|
||||
DADD += -L/usr/lib/w32api -lwinmm -lwsock32
|
||||
else
|
||||
DADD = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
|
||||
DADD += advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
|
||||
DADD += vfw32.lib winmm.lib opengl32.lib glu32.lib largeint.lib dxguid.lib
|
||||
DADD += libcmt.lib
|
||||
LOPTS = /link
|
||||
LOPTS += /NODEFAULTLIB:"libc"
|
||||
LOPTS += /NODEFAULTLIB:"libcd"
|
||||
LOPTS += /NODEFAULTLIB:"libcp"
|
||||
LOPTS += /NODEFAULTLIB:"libcpd"
|
||||
LOPTS += /NODEFAULTLIB:"python31"
|
||||
LOPTS += /NODEFAULTLIB:"msvcrt"
|
||||
LOPTS += /SUBSYSTEM:CONSOLE
|
||||
LDFLAGS += /MT
|
||||
DYNLDFLAGS = /LD
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(OS), irix)
|
||||
LLIBS += $(NAN_SDLLIBS)
|
||||
endif
|
||||
|
||||
ifeq ($(WITH_ICONV),true)
|
||||
LLIBS += $(NAN_ICONV_LIBS)
|
||||
endif
|
||||
|
||||
ifeq ($(WITH_FFMPEG),true)
|
||||
LLIBS += $(NAN_FFMPEGLIBS)
|
||||
endif
|
||||
|
||||
ifeq ($(INTERNATIONAL),true)
|
||||
LLIBS += $(NAN_GETTEXT_LIB)
|
||||
endif
|
||||
|
||||
ifeq ($(WITH_BF_OPENMP),true)
|
||||
LLIBS += -lgomp
|
||||
endif
|
||||
|
||||
ifeq ($(WITH_FFTW3),true)
|
||||
LLIBS += $(BF_FFTW3_LIBS)
|
||||
endif
|
||||
|
||||
ifeq ($(WITH_OPENCOLLADA),true)
|
||||
LLIBS += $(BF_OPENCOLLADA_LIBS)
|
||||
endif
|
||||
|
||||
ifeq ($(WITH_TIFF),true)
|
||||
LLIBS += $(NAN_TIFF_LIBS)
|
||||
endif
|
||||
|
||||
LLIBS += $(NAN_PYTHON_LIB)
|
78
build_files/make/nan_subdirs.mk
Normal file
78
build_files/make/nan_subdirs.mk
Normal file
@@ -0,0 +1,78 @@
|
||||
# -*- 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
#
|
||||
# Bounce make to subdirectories.
|
||||
# Set DIRS, SOURCEDIR. Optionally also reacts on DIR, TESTDIRS.
|
||||
#
|
||||
|
||||
default: all
|
||||
|
||||
# do not add install here. install target can only be used in intern/
|
||||
# top level Makefiles
|
||||
all debug clean::
|
||||
ifdef quicky
|
||||
@for i in $(quicky); do \
|
||||
echo "====> $(MAKE) $@ in $$i";\
|
||||
$(MAKE) -C $$i $@ quicky= || exit 1;\
|
||||
done
|
||||
$(MAKE) -C source link || exit 1
|
||||
@echo "${quicky}"
|
||||
else
|
||||
ifdef DIR
|
||||
@# Make sure object toplevels are there
|
||||
@[ -d $(NAN_OBJDIR) ] || mkdir -p $(NAN_OBJDIR)
|
||||
@[ -d $(LCGDIR) ] || mkdir -p $(LCGDIR)
|
||||
@[ -d $(OCGDIR) ] || mkdir -p $(OCGDIR)
|
||||
@[ -d $(OCGDIR)/intern ] || mkdir -p $(OCGDIR)/intern
|
||||
@[ -d $(OCGDIR)/extern ] || mkdir -p $(OCGDIR)/extern
|
||||
@# Create object directory
|
||||
@[ -d $(DIR) ] || mkdir -p $(DIR)
|
||||
endif
|
||||
ifdef SOURCEDIR
|
||||
@for i in $(DIRS); do \
|
||||
echo "====> $(MAKE) $@ in $(SOURCEDIR)/$$i" ;\
|
||||
$(MAKE) -C $$i $@ || exit 1; \
|
||||
done
|
||||
else
|
||||
@for i in $(DIRS); do \
|
||||
echo "====> $(MAKE) $@ in $$i" ;\
|
||||
$(MAKE) -C $$i $@ || exit 1; \
|
||||
done
|
||||
endif
|
||||
endif
|
||||
|
||||
test::
|
||||
ifdef TESTDIRS
|
||||
@for i in $(TESTDIRS); do \
|
||||
echo "====> $(MAKE) $@ in $(SOURCEDIR)/$$i" ;\
|
||||
$(MAKE) -C $$i $@ || exit 1; \
|
||||
done
|
||||
endif
|
||||
|
167
build_files/make/nan_warn.mk
Normal file
167
build_files/make/nan_warn.mk
Normal file
@@ -0,0 +1,167 @@
|
||||
# -*- 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
#
|
||||
# NaN compiler and linker warning levels
|
||||
# On some platforms, you will be flooded with system include file warnings.
|
||||
# Use hmake to filter those away.
|
||||
#
|
||||
|
||||
# Force the correct redefinition
|
||||
LEVEL_1_C_WARNINGS = -FIX_NAN_WARN1A
|
||||
LEVEL_1_CPP_WARNINGS = -FIX_NAN_WARN1B
|
||||
LEVEL_2_C_WARNINGS = -FIX_NAN_WARN2A
|
||||
LEVEL_2_CPP_WARNINGS = -FIX_NAN_WARN2B
|
||||
FIX_STUBS_WARNINGS = -FIX_NAN_WARN3
|
||||
|
||||
########################################################################
|
||||
# Level 1: basic C warnings.
|
||||
ifeq (gcc, $(findstring gcc,$(CC)))
|
||||
LEVEL_1_C_WARNINGS = -Wall
|
||||
LEVEL_1_C_WARNINGS += -Wno-char-subscripts
|
||||
else
|
||||
ifeq (cc, $(findstring cc,$(CC)))
|
||||
ifeq ($(OS),irix)
|
||||
# MIPSpro Compilers
|
||||
#
|
||||
# Irix warning info
|
||||
#
|
||||
# 1001 # the source file does not end w/ a newline
|
||||
# 1110 # unreachable statement
|
||||
# 1201 # trailing comma in enums is nonstandard
|
||||
# 1209 # constant controlling expressions
|
||||
# 1355 # extra semicolon is ignored
|
||||
# 1424 # unreferenced template paramaters
|
||||
# 1681 # virtual function override
|
||||
# 3201 # unreferenced formal paramaters
|
||||
#
|
||||
LEVEL_1_C_WARNINGS = -fullwarn -woff 1001,1110,1201,1209,1355,1424,1681,3201
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS),windows)
|
||||
# Microsoft Compilers and cl_wrapper.pl
|
||||
LEVEL_1_C_WARNINGS = -Wall
|
||||
endif
|
||||
endif
|
||||
|
||||
# Level 1: basic CPP warnings.
|
||||
ifeq (g++, $(findstring g++,$(CCC)))
|
||||
LEVEL_1_CPP_WARNINGS = -Wall
|
||||
LEVEL_1_CPP_WARNINGS += -Wno-reorder
|
||||
else
|
||||
ifeq (CC, $(findstring CC,$(CCC)))
|
||||
ifeq ($(OS),irix)
|
||||
# MIPSpro Compilers
|
||||
# see warning descriptions above
|
||||
LEVEL_1_CPP_WARNINGS = -woff 1001,1110,1201,1209,1355,1424,1681,3201
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS),windows)
|
||||
# Microsoft Compilers and cl_wrapper.pl
|
||||
LEVEL_1_CPP_WARNINGS = -Wall
|
||||
endif
|
||||
endif
|
||||
|
||||
########################################################################
|
||||
# Level 2: paranoia level C warnings.
|
||||
# DO NOT REUSE LEVEL_1_ DEFINES.
|
||||
ifeq (gcc, $(findstring gcc,$(CC)))
|
||||
LEVEL_2_C_WARNINGS = -Wall
|
||||
LEVEL_2_C_WARNINGS += -W
|
||||
# deliberately enable char-subscript warnings
|
||||
LEVEL_2_C_WARNINGS += -Wshadow
|
||||
LEVEL_2_C_WARNINGS += -Wpointer-arith
|
||||
LEVEL_2_C_WARNINGS += -Wbad-function-cast
|
||||
LEVEL_2_C_WARNINGS += -Wcast-qual
|
||||
LEVEL_2_C_WARNINGS += -Wcast-align
|
||||
LEVEL_2_C_WARNINGS += -Waggregate-return
|
||||
LEVEL_2_C_WARNINGS += -Wstrict-prototypes
|
||||
LEVEL_2_C_WARNINGS += -Wmissing-prototypes
|
||||
LEVEL_2_C_WARNINGS += -Wmissing-declarations
|
||||
LEVEL_2_C_WARNINGS += -Wnested-externs
|
||||
LEVEL_2_C_WARNINGS += -Wredundant-decls
|
||||
else
|
||||
ifeq (cc, $(findstring cc,$(CC)))
|
||||
ifeq ($(OS),irix)
|
||||
# MIPSpro Compilers
|
||||
# see warning descriptions above
|
||||
LEVEL_2_C_WARNINGS = -fullwarn -woff 1001,1209,1424,3201
|
||||
endif
|
||||
ifeq ($(OS),solaris)
|
||||
# Forte / Sun WorkShop Compilers
|
||||
LEVEL_2_C_WARNINGS = -v
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS),windows)
|
||||
# Microsoft Compilers and cl_wrapper.pl
|
||||
LEVEL_2_C_WARNINGS = -Wall
|
||||
endif
|
||||
endif
|
||||
|
||||
# Level 2: paranoia level CPP warnings.
|
||||
# DO NOT REUSE LEVEL_1_ DEFINES.
|
||||
ifeq (g++, $(findstring g++,$(CCC)))
|
||||
LEVEL_2_CPP_WARNINGS = -Wall
|
||||
LEVEL_2_CPP_WARNINGS += -W
|
||||
# deliberately enable char-subscript warnings
|
||||
LEVEL_2_CPP_WARNINGS += -Wshadow
|
||||
LEVEL_2_CPP_WARNINGS += -Wpointer-arith
|
||||
LEVEL_2_CPP_WARNINGS += -Wcast-qual
|
||||
LEVEL_2_CPP_WARNINGS += -Wcast-align
|
||||
# deliberately disable aggregate-return warnings
|
||||
LEVEL_2_CPP_WARNINGS += -Wredundant-decls
|
||||
LEVEL_2_CPP_WARNINGS += -Wreorder
|
||||
LEVEL_2_CPP_WARNINGS += -Wctor-dtor-privacy
|
||||
LEVEL_2_CPP_WARNINGS += -Wnon-virtual-dtor
|
||||
#LEVEL_2_CPP_WARNINGS += -Wold-style-cast
|
||||
LEVEL_2_CPP_WARNINGS += -Woverloaded-virtual
|
||||
LEVEL_2_CPP_WARNINGS += -Wsign-promo
|
||||
LEVEL_2_CPP_WARNINGS += -Wsynth
|
||||
else
|
||||
ifeq (CC, $(findstring CC,$(CCC)))
|
||||
ifeq ($(OS),irix)
|
||||
# MIPSpro Compilers
|
||||
# see warning descriptions above
|
||||
LEVEL_2_CPP_WARNINGS = -fullwarn -woff 1209,1424,3201
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS),windows)
|
||||
# Microsoft Compilers and cl_wrapper.pl
|
||||
LEVEL_2_CPP_WARNINGS = -Wall
|
||||
endif
|
||||
endif
|
||||
|
||||
########################################################################
|
||||
# stubs warning fix
|
||||
ifeq (gcc, $(findstring gcc,$(CC)))
|
||||
FIX_STUBS_WARNINGS = -Wno-unused
|
||||
else
|
||||
FIX_STUBS_WARNINGS =
|
||||
endif
|
||||
|
Reference in New Issue
Block a user