Files
OpenSceneGraph/Make/makedefs
Robert Osfield 6c8ef3b7df Fixed the texture apply method which was broken yesterday, the new code wasn't
checking for the validity of _image before doing checks on it.  This breaks when
render to texture is used as there is no image to check against...

Added osgshadowtexture demo source.  Demos still in development, so don't expect
any shadows yet...
2002-11-20 07:46:25 +00:00

504 lines
16 KiB
Plaintext

SHELL = /bin/sh
OS := $(shell uname)
## We don't care about architectural distinguishers in the OS
## such as IRIX64, IRIX32, etc. so we truncate IRIX?? to IRIX
ifeq ($(findstring IRIX,$(OS)),IRIX)
OS := IRIX
endif
## Make CYGWIN_XXXX CYGWIN so it's "Windows cross platform" :)
ifeq ($(findstring CYGWIN,$(OS)),CYGWIN)
OS := CYGWIN
endif
## Make MINGW_XXXX MINGW so it's "Windows cross platform" :)
ifeq ($(findstring MINGW,$(OS)),MINGW)
OS := MINGW
endif
# TOPDIR needs to be redefined for every Makefile
TOPDIR ?= ../
THISDIR = .
MAKEDEPEND = ignore
INC = -I$(TOPDIR)/include
DEF =
CXXFLAGS = $(ARCHARGS) $(DOF) $(DEF) $(INC)
LDFLAGS = $(ARCHARGS) $(DOF) $(LINKARGS) -L$(TOPDIR)/lib
OBJS = $(C++FILES:.cpp=.o) \
$(CXXFILES:.cpp=.o) \
$(CFILES:.c=.o) \
DOF = $(OPTF)
DEBUGDIR = $(OS)$(ARCH).Debug
OPTDIR = $(OS)$(ARCH).Opt
BININST = bin
LIBINST = lib
PLUGININST = lib/osgPlugins
INST_SYS_PREFIX = /usr/local
INST_LIBS = $(INST_SYS_PREFIX)/lib$(ARCH)
INST_PLUGINS = $(INST_SYS_PREFIX)/lib$(ARCH)/osgPlugins
INST_INCLUDE = $(INST_SYS_PREFIX)/include
INST_SHARE_PREFIX = /usr/share
INST_DEMOS = $(INST_SHARE_PREFIX)/OpenSceneGraph/bin
INST_SRC = $(INST_SHARE_PREFIX)/OpenSceneGraph/src
INST_DOC = $(INST_SHARE_PREFIX)/OpenSceneGraph/doc
INST_DATA = $(INST_SHARE_PREFIX)/OpenSceneGraph/data
INST_DEMO_SRC = $(INST_SRC)/demos
LINK = ln -sf
INSTBINCMD = install -m 755
INSTDEVCMD = install -m 644
INSTLINKBINCMD = $(LINK)
INSTLINKDEVCMD = $(LINK)
LIB_PREFIX = lib
LIB_EXT = so
PLUGIN_PREFIX = osgdb_
PLUGIN_EXT = so
MAKEDIST = echo " === Distribution build is not implemented yet for $(OS)"; printf "\n"
INSTLOGFILE = /tmp/.osg_inst_log
RECURSIVE_TARGETS = \
opt\
debug\
clean\
cleandepend\
cleandependopt\
cleandependdbg\
cleandbg\
cleanopt\
cleantarget\
cleantargetopt\
cleantargetdbg\
clobber\
clobberdbg\
clobberopt\
beautify\
docs\
depend\
#### SUN OS Specific definitions
ifeq ($(OS),SunOS)
#### if useing g++ on a sun
ifeq ($(COMPILER),gnu)
C++ = g++
DEPARG = -M
INC += -I/usr/local/glut-3.7/include
DEF += -W -Wall -fPIC -fpermissive
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS
SHARED = -shared -fPIC
ifeq ($(ARCH),64)
ARCHARGS = -m64 -DARCH64
else
ARCHARGS =
endif
GLUT_LIB = -L/usr/local/glut-3.7/lib/glut -lglut
OTHER_LIBS =
#### using forte compilers (default)
else
C++ = CC
DEPARG = -xM1
INC +=
DEF += -features=extensions
OPTF = -xO4
DBGF = -g -DOSG_COMPILE_UNIT_TESTS
SHARED = -G
ifeq ($(ARCH),64)
ARCHARGS = -xarch=v9 -DARCH64
else
ARCHARGS =
endif
GLUT_LIB = -lglut
OTHER_LIBS = -lCstd
INSTBINCMD = cp
INSTDEVCMD = cp
INST_SYS_PREFIX = /opt/OpenSceneGraph
INST_SHARE_PREFIX = /opt
MAKEDIST = $(TOPDIR)/Make/makepkg
endif
LINKARGS =
DYNAMICLIBRARYLIB = -ldl
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
FREETYPE_LIB = /usr/local/lib/libfreetype.a
GL_LIBS = -lGLU -lGL
X_LIBS = -lXext -lXmu -lXi -lX11
SOCKET_LIBS = -lsocket -lnsl
GIF_LIBS = /usr/local/lib/libgif.a
TIFF_LIB = /usr/local/lib/libtiff.a
JPEG_LIBS = /usr/local/lib/libjpeg.a
PNG_LIBS = /usr/local/lib/libpng.a /usr/local/lib/libz.a
INSTBINCMD = cp
INSTDEVCMD = cp
INST_SYS_PREFIX = /opt/OpenSceneGraph
INST_SHARE_PREFIX = /opt
MAKEDIST = $(TOPDIR)/Make/makepkg
endif
#### IRIX Specific definitions
ifeq ($(OS),IRIX)
C++ = CC
DEPARG = -M
INC += -I${TOPDIR}/include -I/usr/freeware/
DEF += -LANG:std -OPT:Olimit=0 \
-DEBUG:woff=1682 -DEBUG:woff=3303\
-MDupdate $(MAKEDEPEND)
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS -DOSG_USE_MEMORY_MANAGER
SHARED = -shared
ARCH = 32
ifeq ($(ARCH),64)
ARCHARGS = -64 -DARCH64
FREETYPE_LIB = -L/usr/freeware/lib64 -lfreetype
PF_XTRA_LIBS = -L/usr/lib64/libpfdb -rpath /usr/lib64/libpfdb \
-lpf3ds -lpfdem -lpfdted -lpfdwb -lpfdxf -lpfevt \
-lpfflt -lpfgds -lpfgfo -lpfim -lpflsa -lpflsb \
-lpfnff -lpfobj -lpfpegg -lpfpfb -lpfphd -lpfpts \
-lpfrot -lpfscale -lpfsgf -lpfsgo -lpfsphere -lpfsv \
-lpftri -lpfunc -lpfvct -lpfdu -lpfutil -lpf -limage
else
ARCHARGS = -n32
FREETYPE_LIB = -L/usr/freeware/lib32 -lfreetype
PF_XTRA_LIBS = -L/usr/lib32/libpfdb -rpath /usr/lib32/libpfdb \
-lpf3ds -lpfdem -lpfdted -lpfdwb -lpfdxf -lpfevt \
-lpfflt -lpfgds -lpfgfo -lpfim -lpflsa -lpflsb \
-lpfnff -lpfobj -lpfpegg -lpfpfb -lpfphd -lpfpts \
-lpfrot -lpfscale -lpfsgf -lpfsgo -lpfsphere -lpfsv \
-lpftri -lpfunc -lpfvct -lpfdu -lpfutil -lpf -limage
endif
LINKARGS = -L${TOPDIR}/lib -LANG:std -OPT:Olimit=0
DYNAMICLIBRARYLIB =
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
GLUT_LIB = -lglut
GL_LIBS = -lGLU -lGL
X_LIBS = -lXext -lXi -lXmu -lX11
SOCKET_LIBS =
OTHER_LIBS = -lm
PNG_LIBS = -lpng
JPEG_LIBS = -ljpeg
TIFF_LIB = -ltiff
GIF_LIBS = -lungif
MAKEDIST = $(TOPDIR)/Make/makeirixdist
endif
#### Linux specific definitions
ifeq ($(OS),Linux)
ifeq (x$(CXX),x)
C++ = g++
else
C++ = $(CXX)
endif
DEPARG = -M
INC +=
DEF += -W -Wall
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS -DOSG_USE_MEMORY_MANAGER
SHARED = -shared
ARCHARGS =
LINKARGS = -L/usr/X11R6/lib
LIBS = -lstdc++
DYNAMICLIBRARYLIB = -ldl
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
FREETYPE_LIB = -lfreetype
GLUT_LIB = -lglut
GL_LIBS = -lGLU -lGL
X_LIBS = -lXi -lXmu -lX11
PF_XTRA_LIBS = -L/usr/lib/libpfdb -Xlinker -rpath /usr/lib/libpfdb \
-lpf3ds -lpfdem -lpfdted -lpfdwb -lpfdxf -lpfevt \
-lpfflt -lpfgds -lpfgfo -lpfim -lpflsa -lpflsb \
-lpfnff -lpfobj -lpfpegg -lpfpfb -lpfphd -lpfpts \
-lpfrot -lpfscale -lpfsgf -lpfsgo -lpfsphere -lpfsv \
-lpftri -lpfunc -lpfvct -lpfdu -lpfutil -lpf
SOCKET_LIBS =
OTHER_LIBS = -lpthread
PNG_LIBS = -lpng
JPEG_LIBS = -ljpeg
TIFF_LIB = -ltiff
GIF_LIBS = -lungif
MAKEDIST = $(TOPDIR)/Make/makerpms
endif
#### FreeBSD specific definitions
ifeq ($(OS),FreeBSD)
C++ = g++
DEPARG = -MM
INC += -I/usr/local/include -I/usr/X11R6/include
DEF += -W -Wall
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS
SHARED = -shared
ARCHARGS =
LINKARGS = -L/usr/X11R6/lib -L/usr/local/lib -rpath /usr/local/lib
DYNAMICLIBRARYLIB =
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
FREETYPE_LIB = -lfreetype
GLUT_LIB = -lglut
GL_LIBS = -lGLU -lGL
X_LIBS = -lXmu -lX11
SOCKET_LIBS =
OTHER_LIBS =
INST_SYS_PREFIX = /opt/X11R6
INST_SHARE_PREFIX = /usr/share/OpenSceneGraph
endif
#### MacOS X specific definitions
ifeq ($(OS),Darwin)
C++ = c++
INC +=
DEF += -Wall -D__DARWIN_OSX__
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS
DEPARG = -M $(DEF)
SHARED = -shared
ARCHARGS =
LINKARGS =
DYNAMICLIBRARYLIB =
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
FREETYPE_LIB = -lfreetype
GLUT_LIB = -framework GLUT
CARBON_LIB = -framework Carbon
GL_LIBS = -framework OpenGL $(CARBON_LIB)
X_LIBS =
SOCKET_LIBS =
OTHER_LIBS = -lm -lstdc++ -lobjc
LIB_EXT = dylib
QUICKTIME = -framework QuickTime $(CARBON_LIB)
TIFF_LIB = -ltiff
# src libs which require external libs: osgText
SRC_DIRS = osg osgUtil osgDB osgParticle osgSim\
osgGA osgGLUT \
osgPlugins \
Demos
LIBVERSION = -dylib_current_version 0.9.1
# Plugins which require external libs: gif jpeg png tiff osgText
PLUGIN_DIRS = bmp dw flt \
lib3ds logos lwo obj \
osg osgParticle osgtgz pic \
quicktime rgb tga tgz \
txp zip
# Demos which require external libs: osghud osgtext
DEMOS_DIRS = osgbillboard osgcallback osgclip \
osgcluster osgconv osgcopy osgcube osggeometry \
osghangglide osgimpostor osgmultitexture osgoccluder \
osgparticle osglightpoint osgprerender osgshadowtexture osgreflect osgscribe osgstereoimage \
osgtexture1D osgtexture2D osgtexture3D osgversion osgviews sgv \
osgshape osganimate osgteapot
endif
#### Cygwin/Mingw specific definitions
ifeq ($(OS),CYGWIN)
C++ = c++
DEPARG = -M
INC +=
DEF += -DWIN32 -W -Wall
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS
SHARED = -shared\
-Wl,--export-all-symbols \
-Wl,--output-def,lib$(TARGET_BASENAME).def \
-Wl,--out-implib,$(TOPDIR)/lib/lib$(TARGET_BASENAME).dll.a \
ARCHARGS =
LINKARGS = -W -Wall
DYNAMICLIBRARYLIB =
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
GL_LIBS = -lglu32 -lopengl32
GLUT_LIB = -lglut32 $(GL_LIBS)
X_LIBS = -lgdi32 -luser32
OSGDB_LIBS = -losgdb_3ds \
-losgdb_bmp \
-losgdb_dw \
-losgdb_flt \
-losgdb_jpg \
-losgdb_lwo \
-losgdb_obj \
-losgdb_osg \
-losgdb_osgtgz \
-losgdb_pic \
-losgdb_png \
-losgdb_rgb \
-losgdb_tga \
-losgdb_tgz \
-losgdb_tiff \
-losgdb_zip
SOCKET_LIBS =
OTHER_LIBS = $(GL_LIBS)
PNG_LIBS = -lpng -lz
JPEG_LIBS = -ljpeg
GIF_LIBS = -lungif
TIFF_LIB = -ltiff -lz -ljpeg
FREETYPE_LIB = -lfreetype2
LIB_PREFIX = cyg
LIB_EXT = dll
PLUGIN_EXT = dll
LINK = cp -f
INST_SYS_PREFIX = /usr/local/OpenSceneGraph
INST_LIBS = $(INST_SYS_PREFIX)/bin
INST_PLUGINS = $(INST_SYS_PREFIX)/bin
INST_INCLUDE = $(INST_SYS_PREFIX)/include
INST_SHARE_PREFIX = /usr/local/OpenSceneGraph
INST_SRC = $(INST_SHARE_PREFIX)/src
INST_DEMOS = $(INST_SHARE_PREFIX)/bin
INST_DEMO_SRC = $(INST_SHARE_PREFIX)/src/demos
INST_DOC = $(INST_SHARE_PREFIX)/doc
INST_DATA = $(INST_SHARE_PREFIX)/data
endif
#### Cygwin/Mingw specific definitions
ifeq ($(OS),MINGW)
C++ = c++
DEPARG = -M
INC +=
DEF += -DWIN32 -Wall
# -W
OPTF = -O2
DBGF = -g -DOSG_COMPILE_UNIT_TESTS
SHARED = -shared\
-Wl,--export-all-symbols \
-Wl,--output-def,lib$(TARGET_BASENAME).def \
-Wl,--out-implib,$(TOPDIR)/lib/lib$(TARGET_BASENAME).dll.a \
ARCHARGS =
LINKARGS = -W -Wall
DYNAMICLIBRARYLIB =
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
GL_LIBS = -lglu32 -lopengl32
GLUT_LIB = -lglut32 $(GL_LIBS)
X_LIBS = -lgdi32 -luser32
OSGDB_LIBS = -losgdb_3ds \
-losgdb_bmp \
-losgdb_dw \
-losgdb_flt \
-losgdb_jpg \
-losgdb_lwo \
-losgdb_obj \
-losgdb_osg \
-losgdb_osgtgz \
-losgdb_pic \
-losgdb_png \
-losgdb_rgb \
-losgdb_tga \
-losgdb_tgz \
-losgdb_tiff \
-losgdb_zip
SOCKET_LIBS =
OTHER_LIBS = $(GL_LIBS)
PNG_LIBS = -lpng -lz
JPEG_LIBS = -ljpeg
GIF_LIBS = -lungif
TIFF_LIB = -ltiff -lz -ljpeg
FREETYPE_LIB = -lfreetype
# LIB_PREFIX = cyg
LIB_PREFIX = lib
LIB_EXT = dll
PLUGIN_EXT = dll
LINK = cp -f
INST_SYS_PREFIX = /usr/local/OpenSceneGraph
INST_LIBS = $(INST_SYS_PREFIX)/bin
INST_PLUGINS = $(INST_SYS_PREFIX)/bin
INST_INCLUDE = $(INST_SYS_PREFIX)/include
INST_SHARE_PREFIX = /usr/local/OpenSceneGraph
INST_SRC = $(INST_SHARE_PREFIX)/src
INST_DEMOS = $(INST_SHARE_PREFIX)/bin
INST_DEMO_SRC = $(INST_SHARE_PREFIX)/src/demos
INST_DOC = $(INST_SHARE_PREFIX)/doc
INST_DATA = $(INST_SHARE_PREFIX)/data
PLUGIN_DIRS = osg rgb lib3ds flt obj lwo bmp pic tga osgtgz tgz zip
# txp
DEMOS_DIRS = osghangglide osgbillboard osgconv osgcopy osgcube osgimpostor\
osgreflect osgscribe osgstereoimage osgtexture1D osgtexture2D osgtexture3D\
osgviews osgversion sgv osghud osgtext
# osgcluster
endif
#### HP-UX Specific definitions
# contributed by tino.schwarze@informatik.tu-chemnitz.de
ifeq ($(OS),HP-UX)
C++ = g++
DEPARG = -M
INC += -I/opt/glut/include
DEF += -W -Wall -fPIC
OPTF = -O2
# gcc 3.1 uses DWARF as default, my GDB might not yet support this...
# at least I've got problems everywhere
DBGF = -g -gstabs+ -DOSG_COMPILE_UNIT_TESTS
SHARED = -shared -fPIC
ARCH = 32
ifeq ($(ARCH),64)
# not yet tested
ARCHARGS = -march=2.0 -DARCH64
else
# at least my gcc 3.1 defaults to HP-PA RISC 1.1
ARCHARGS =
endif
LINKARGS = -lpthread
LIB_EXT = sl
PLUGIN_EXT = sl
DYNAMICLIBRARYLIB = -ldld
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
# glut delivered with HP-UX is outdated
GLUT_LIB = -L/opt/glut/lib -lglut
GL_LIBS = -L/opt/graphics/OpenGL/lib -lGLU -lGL
X_LIBS = -L/usr/lib/X11R6 -lXext -lXi -lX11 -L/usr/lib/X11R4 -lXmu
SOCKET_LIBS =
# make sure that global constructors/destructors are called upon
# shl_load() / shl_unload() - this is a gcc specific workaround
OTHER_LIBS = -lm -Wl,+init -Wl,_GLOBAL__DI -Wl,+fini -Wl,_GLOBAL__DD
FREETYPE_INCLUDE = -I/opt/freetype/include -I/opt/freetype/include/freetype2
FREETYPE_LIB = -L/opt/freetype/lib -lfreetype
PNG_INCLUDE = -I/opt/libpng/include
PNG_LIBS = -L/opt/libpng/lib -lpng -L/opt/zlib/lib -lz
JPEG_INCLUDE = -I/opt/jpeg-6/include
JPEG_LIBS = -L/opt/jpeg-6/lib -ljpeg
TIFF_INCLUDE = -I/opt/tiff-3.5/include
TIFF_LIB = -L/opt/tiff-3.5/lib -ltiff
GIF_INCLUDE = -I/opt/libungif/include
GIF_LIBS = -L/opt/libungif/lib -lungif
endif
VPATH=..