83af5e7a95
added osgtexture1D demo which currently is simply copy of osgtexture2D. I will be modifying it to do 1D texturing next. Fixed a bug in osg::Texture3D relating to checking of existance of texturing. Merged some fixes to the pfb loader from Ulrich Hertlein.
498 lines
15 KiB
Plaintext
498 lines
15 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
|
|
SHARED = -shared -fPIC
|
|
ifeq ($(ARCH),64)
|
|
ARCHARGS = -m64
|
|
else
|
|
ARCHARGS =
|
|
endif
|
|
LINKARGS =
|
|
DYNAMICLIBRARYLIB = -ldl
|
|
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
|
|
FREETYPE_LIB = -L/usr/local/lib -lfreetype
|
|
GLUT_LIB = -L/usr/local/glut-3.7/lib/glut -lglut
|
|
GL_LIBS = -lGLU -lGL
|
|
X_LIBS = -lXext -lXmu -lXi -lX11
|
|
SOCKET_LIBS = -lsocket -lnsl
|
|
OTHER_LIBS =
|
|
TIFF_LIB = -ltiff
|
|
|
|
INSTBINCMD = cp
|
|
INSTDEVCMD = cp
|
|
|
|
INST_SYS_PREFIX = /opt/OpenSceneGraph
|
|
INST_SHARE_PREFIX = /opt
|
|
|
|
MAKEDIST = $(TOPDIR)/Make/makepkg
|
|
|
|
#### using forte compilers (default)
|
|
else
|
|
|
|
C++ = CC
|
|
DEPARG = -xM1
|
|
INC +=
|
|
DEF += -features=extensions
|
|
OPTF = -xO4
|
|
DBGF = -g
|
|
SHARED = -G
|
|
ifeq ($(ARCH),64)
|
|
ARCHARGS = -xarch=v9
|
|
else
|
|
ARCHARGS =
|
|
endif
|
|
LINKARGS =
|
|
DYNAMICLIBRARYLIB = -ldl
|
|
OSG_LIBS = -losgGLUT -losgGA -losgDB -losgUtil -losg
|
|
FREETYPE_LIB = -L/usr/local/lib -lfreetype
|
|
GLUT_LIB = -lglut
|
|
GL_LIBS = -lGLU -lGL
|
|
X_LIBS = -lXext -lXmu -lXi -lX11
|
|
SOCKET_LIBS = -lsocket -lnsl
|
|
OTHER_LIBS = -lCstd
|
|
TIFF_LIB = -ltiff
|
|
|
|
INSTBINCMD = cp
|
|
INSTDEVCMD = cp
|
|
|
|
INST_SYS_PREFIX = /opt/OpenSceneGraph
|
|
INST_SHARE_PREFIX = /opt
|
|
|
|
MAKEDIST = $(TOPDIR)/Make/makepkg
|
|
endif
|
|
|
|
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
|
|
SHARED = -shared
|
|
ARCH = 32
|
|
ifeq ($(ARCH),64)
|
|
ARCHARGS = -64
|
|
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
|
|
|
|
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_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 = -lgif
|
|
|
|
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
|
|
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++ = cc
|
|
INC += -I/usr/include
|
|
DEF += -Wall -D__DARWIN_OSX__
|
|
OPTF = -O2
|
|
DBGF = -g
|
|
DEPARG = -M $(DEF)
|
|
SHARED = -shared
|
|
ARCHARGS =
|
|
LINKARGS = -L/usr/lib
|
|
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_DIRS = osg osgUtil osgDB \
|
|
osgGA osgGLUT \
|
|
osgPlugins osgParticle \
|
|
Demos
|
|
# Plugins which require external libs: gif jpeg png tiff
|
|
PLUGIN_DIRS = bmp dw flt \
|
|
lib3ds logos lwo obj \
|
|
osg 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 osgprerender osgreflect osgscribe osgstereoimage \
|
|
osgtexture1D osgtexture2D osgtexture3D osgversion osgviews sgv
|
|
endif
|
|
|
|
#### Cygwin/Mingw specific definitions
|
|
ifeq ($(OS),CYGWIN)
|
|
C++ = c++
|
|
DEPARG = -M
|
|
INC +=
|
|
DEF += -DWIN32 -W -Wall
|
|
OPTF = -O2
|
|
DBGF = -g
|
|
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_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
|
|
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_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 = hangglide 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+
|
|
SHARED = -shared -fPIC
|
|
ARCH = 32
|
|
ifeq ($(ARCH),64)
|
|
# not yet tested
|
|
ARCHARGS = -march=2.0
|
|
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=..
|
|
|