OpenSceneGraph/Make/makedefs
Don BURNS e0adca775b Reinstated Norman Vine's TARGET_BASENAME variable in the makefiles and
added prefixes and suffixes to libs and plugins.  ALl this to accomodate
cygwin...

Also added INST_SYS_PREFIX and INST_SHARE_PREFIX for installation, as well
as "standardizing" the install locations for the various platforms.
2002-04-03 17:42:12 +00:00

266 lines
6.9 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
# 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_DEMO_SRC = $(INST_SHARE_PREFIX)/OpenSceneGraph/src/demos
INST_DOC = $(INST_SHARE_REFIX)/OpenSceneGraph/doc
INST_DATA = $(INST_SHARE_PREFIX)/OpenSceneGraph/data
LINK = ln -sf
INSTBINCMD = install -m 755
INSTDEVCMD = install -m 644
INSTLINKBIN = $(LINK)
INSTLINKDEV = $(LINK)
LIB_PREFIX = lib
LIB_EXT = so
PLUGIN_PREFIX = osgdb_
PLUGIN_EXT = so
ALL_TARGETS = \
opt\
debug\
clean\
cleandbg\
cleanopt\
cleanlite\
cleanliteopt\
cleanlitedbg\
clobber\
beautify\
docs\
depend\
#### SUN OS Specific definitions
ifeq ($(OS),SunOS)
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 -losgDB -losgUtil -losg
FREETYPE_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_DEMOS = /opt/OpenSceneGraph/bin
INST_LIBS = /opt/OpenSceneGrpah/lib$(ARCH) /usr/lib
INST_PLUGINS = /opt/OpenSceneGraph/lib/osgPlugins
INST_INCLUDE = /opt/OpenSceneGraph/include
INST_DEMO_SRC = /opt/OpenSceneGraph/src/demos
INST_DATA = /opt/OpenSceneGraph/data
endif
#### IRIX Specific definitions
ifeq ($(OS),IRIX)
C++ = CC
DEPFLAGS = -M
INC +=
DEF += -LANG:std -OPT:Olimit=0 \
-DEBUG:wof=1682 -DEBUG:woff=3303\
-MDupdate $(MAKEDEPEND)
OPTF = -O2
DBGF = -g
SHARED = -shared
ARCH = 32
ifeq ($(ARCH),64)
ARCHARGS = -64
else
ARCHARGS = -n32
endif
LINKARGS = -LANG:std -OPT:Olimit=0
DYNAMICLIBRARYLIB = -ldl
OSG_LIBS = -losgGLUT -losgDB -losgUtil -losg
FREETYPE_LIB = -lfreetype
GLUT_LIB = -lglut
GL_LIBS = -lGLU -lGL
X_LIBS = -lXext -lXi -lXmu -lX11
SOCKET_LIBS =
OTHER_LIBS = -lm
# INSTLINKBIN = install -t -m 755
# INSTLINKDEV = install -t -m 644
endif
#### Linux specific definitions
ifeq ($(OS),Linux)
C++ = g++
DEPARG = -MM
INC +=
DEF += -W -Wall
OPTF = -O2
DBGF = -g
SHARED = -shared
ARCHARGS =
LINKARGS = -L/usr/X11R6/lib
DYNAMICLIBRARYLIB = -ldl
OSG_LIBS = -losgGLUT -losgDB -losgUtil -losg
FREETYPE_LIB = -lfreetype
GLUT_LIB = -lglut
GL_LIBS = -lGLU -lGL
X_LIBS = -lXmu -lX11
SOCKET_LIBS =
OTHER_LIBS =
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 -losgDB -losgUtil -losg
FREETYPE_LIB = -lfreetype
GLUT_LIB = -lglut
GL_LIBS = -lGLU -lGL
X_LIBS = -lXmu -lX11
SOCKET_LIBS =
OTHER_LIBS =
INST_DEMOS = /usr/X11R6/bin
INST_LIBS = /usr/X11R6/lib
INST_PLUGINS = /usr/X11R6/lib/osgPlugins
INST_INCLUDE = /usr/X11R6/include
INST_DEMO_SRC = /usr/share/OpenSceneGraph/src/demos
INST_DATA = /usr/share/OpenSceneGraph/data
endif
#### Mac OSX specific definitions
ifeq ($(OS),Darwin)
C++ = cc
INC += -I/usr/include -I/sw/include
DEF += -Wall -D__DARWIN_OSX__
OPTF = -O2
DBGF = -g
DEPARG = -M $(DEF)
SHARED = -shared
ARCHARGS =
LINKARGS = -L/usr/lib -L/sw/lib
DYNAMICLIBRARYLIB =
OSG_LIBS = -losgGLUT -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 -ldl -lstdc++ -lobjc
LIBEXT = dylib
PLUGINEXT = so
QUICKTIME_LIB = -framework QuickTime
TIFF_LIB = -ltiff
endif
#### Cygwin/Mingw specific definitions
ifeq ($(OS),CYGWIN_NT-5.0)
C++ = c++
DEPARG = -M
INC +=
DEF += -DWIN32 -W -Wall
OPTF = -O2
DBGF = -g
SHARED = -shared\
-Wl,--export-all-symbols \
-Wl,--output-def,$(LIB_PREFIX)$(TARGET_BASENAME).def \
-Wl,--out-implib,$(TOPDIR)/lib/$(LIB_PREFIX)$(TARGET_BASENAME).a \
ARCHARGS =
LINKARGS = -W -Wall
DYNAMICLIBRARYLIB =
OSG_LIBS = -losgGLUT -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)
LIB_PREFIX = cyg
LIB_EXT = dll
PLUGIN_PREFIX = osgdb_
PLUGIN_EXT = dll
LINK = cp -f
endif
VPATH=..