Added pkgadd distribution for Solaris.

Added a cleaner way to install demo source so that installed versions use a
simplified makedefs/makerules.

Small fix to get osgText to compile with Solaris CC.  Constructor declared
with a non-const argument, but implemented with const argument.
This commit is contained in:
Don BURNS 2002-04-09 14:55:38 +00:00
parent 055e056645
commit 30eab4b79a
27 changed files with 412 additions and 54 deletions

View File

@ -1,5 +1,7 @@
distribution :
@$(MAKEDIST) $(TOPDIR)\
@$(MAKEDIST) \
$(OS)\
$(TOPDIR)\
$(INST_LIBS)\
$(INST_PLUGINS)\
$(INST_INCLUDE)\
@ -9,3 +11,6 @@ distribution :
$(INST_DATA)
cleandist:
@$(MAKECLEANDIST)

110
Make/instdemosrc Executable file
View File

@ -0,0 +1,110 @@
#!/bin/sh
OS=$1
TOPDIR=$2
INST_LIBS=$3
INST_PLUGINS=$4
INST_INCLUDE=$5
INST_DEMOS=$6
INST_SRC=$7
INST_DEMO_SRC=$8
shift; shift; shift; shift; shift; shift; shift; shift;
INST_DOC=$1
INST_DATA=$2
OPTF=$3
DEPARG=$4
copy_demo_source()
{
for d in `ls $TOPDIR/src/Demos/ | grep -v CVS`
do
if [ -d $TOPDIR/src/Demos/$d ]
then
THISDIR=`pwd`
cd $TOPDIR/src/Demos/$d
[ -d $INST_DEMO_SRC/$d ] || mkdir -m 0755 -p $INST_DEMO_SRC/$d
for f in `gmake __instfiles | grep -v make `
do
src=`echo $f | cut -f1 -d"="`
dst=`echo $f | cut -f2 -d"="`
if [ -z "$dst" ] ; then dst=$src; fi
echo cp $src $INST_DEMO_SRC/$d/$dst
cp $src $INST_DEMO_SRC/$d/$dst
chmod 0444 $INST_DEMO_SRC/$d/$dst
done
cd $THISDIR
fi
done
}
generate_makedefs()
{
cat <<-EOF > $1
TOPDIR ?= ../
THISDIR = .
INC = -I$INST_INCLUDE -I./
DEF = $DEF
CXXFLAGS = $(ARCHARGS) $OPTF $(DEF) $(INC)
LDFLAGS = $(ARCHARGS) $OPTF -L$INST_LIBS
OBJS = $(C++FILES:.cpp=.o) $(CXXFILES:.cpp=.o) $(CFILES:.c=.o)
C++ = CC
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
VPATH = ..
EOF
}
generate_makerules()
{
cat <<-EOF1 | sed 's/TAB/ /' > $1
all : $(EXEC) $(LIB) $(PLUGIN)
$(EXEC) : Makedepend $(OBJS)
TAB$(C++) $(LDFLAGS) $(OBJS) $(LIBS) -o \$@
$(LIB) $(PLUGIN) : $(OBJS)
TAB$(C++) $(LDFLAGS) $(SHARED) $(OBJS) $(LIBS) -o \$@
clean :
TABrm -f $(OBJS) $(MAKEDEPEND)
clobber : clean
TABrm -f $(EXEC) $(LIB) $(PLUGIN)
Makedepend : $(CXXFILES) $(CFILES)
TAB$(C++) $(INC) $DEPARG \$? > \$@
.SUFFIXES: .cpp .o
.cpp.o:
TAB$(C++) $(CXXFLAGS) -c $<
sinclude Makedepend
EOF1
}
[ -d $INST_SRC/Make ] || mkdir -m 0755 -p $INST_SRC/Make
echo =========== Installing Demo Source Code =================
echo " generaing make files ..."
generate_makedefs $INST_SRC/Make/makedefs
generate_makerules $INST_SRC/Make/makerules
echo " copying demo files ..."
copy_demo_source
exit 0

View File

@ -1,22 +1,29 @@
install : instbin instdev
install :
@rm -f $(INSTLOGFILE)
@$(MAKE) __instbin __instdev
@more $(INSTLOGFILE)
instbin :
instbin instdev :
@$(MAKE) __$@
__instbin:
@$(MAKE) INSTSRC=$(TOPDIR)/bin INSTDEST=$(INST_DEMOS) \
INSTALL?="$(INSTBINCMD)" __install
@$(MAKE) INSTSRC=$(TOPDIR)/lib INSTDEST=$(INST_LIBS) \
INSTALL?="$(INSTBINCMD)" __install
@$(MAKE) INSTSRC=$(TOPDIR)/lib/osgPlugins INSTDEST=$(INST_PLUGINS)\
INSTALL?="$(INSTBINCMD)" __install
@echo
@echo " Execution environment installation successful. Add"
@echo " $(INST_DEMOS)"
@echo " to your PATH environmental variable, and "
@echo " $(INST_LIBS) and $(INST_PLUGINS)"
@echo " to your LD_LIBRARY_PATH if not already present."
@echo
@echo \
"\n"\
" Run-time environment installation successful. Add \n"\
" $(INST_DEMOS)\n"\
" to your PATH environmental variable, and \n"\
" $(INST_LIBS) and $(INST_PLUGINS) \n"\
" to your LD_LIBRARY_PATH if not already present.\n"\
"\n" >> $(INSTLOGFILE)
instdev :
__instdev:
@for d in `ls -1 $(TOPDIR)/include/ | grep -v CVS`; \
do\
if [ -d $(TOPDIR)/include/$$d ]; \
@ -25,28 +32,44 @@ instdev :
INSTALL?="$(INSTDEVCMD)" __install;\
fi\
done
@for d in `ls -1 $(TOPDIR)/src/Demos | grep -v CVS`; \
do\
if [ -d $(TOPDIR)/src/Demos/$$d ]; \
then \
$(MAKE) INSTSRC=$(TOPDIR)/src/Demos/$$d INSTDEST=$(INST_DEMO_SRC)/$$d\
INSTALL?="$(INSTDEVCMD)" __install;\
fi\
done
@echo
@echo " Development environment installation successful. Add"
@echo " -I/$(INST_INCLUDE)"
@echo " compile flag when compiling with OSG header files."
@echo " Example programs can be found at $(INST_DEMOS_SRC)."
@echo
@$(TOPDIR)/Make/instdemosrc \
$(OS)\
$(TOPDIR)\
$(INST_LIBS)\
$(INST_PLUGINS)\
$(INST_INCLUDE)\
$(INST_DEMOS)\
$(INST_SRC)\
$(INST_DEMO_SRC)\
$(INST_DOC)\
$(INST_DATA)\
"$(OPTF)"\
"$(DEPARG)"
@echo \
"\n"\
" Development environment installation successful. Add\n"\
" -I$(INST_INCLUDE)\n"\
" compile flag when compiling with OSG header files.\n"\
" Example programs can be found at $(INST_DEMO_SRC).\n"\
"\n" >> $(INSTLOGFILE)
instlinks : instlinksbin instlinksdev
instlinks :
@rm -f $(INSTLOGFILE)
$(MAKE) INSTALL="$(INSTLINKBINCMD)" __instbin
$(MAKE) INSTALL="$(INSTLINKDEVCMD)" __instdev
@more $(INSTLOGFILE)
instlinksbin :
$(MAKE) INSTALL="$(INSTLINKBIN)" instbin
@rm -f $(INSTLOGFILE)
$(MAKE) INSTALL="$(INSTLINKBINCMD)" __instbin
@more $(INSTLOGFILE)
instlinksdev :
$(MAKE) INSTALL="$(INSTLINKDEV)" instdev
@rm -f $(INSTLOGFILE)
$(MAKE) INSTALL="$(INSTLINKDEVCMD)" __instdev
@more $(INSTLOGFILE)
instclean : instcleanbin instcleandev
@ -83,7 +106,6 @@ __install :
@[ -n "$(INSTDEST)" ] || echo "Internal error (INSTDEST definition)"
@[ -n "$(INSTDEST)" ] && echo > /dev/null
@[ -d $(INSTDEST) ] || mkdir -p $(INSTDEST)
@echo INSTSRC is $(INSTSRC)
@cd $(INSTSRC);\
THISDIR=`pwd`;\
if [ -n "`ls -1 | grep -v CVS`" ]; then\
@ -91,8 +113,8 @@ __install :
do\
if [ -f $$f ] ; \
then \
echo $(INSTALL) $$THISDIR/$$f $(INSTDEST);\
$(INSTALL) $$THISDIR/$$f $(INSTDEST);\
echo $(INSTALL) $$THISDIR/$$f $(INSTDEST)/$$f;\
$(INSTALL) $$THISDIR/$$f $(INSTDEST)/$$f;\
fi\
done\
fi
@ -136,4 +158,3 @@ __instclean :

View File

@ -39,15 +39,16 @@ 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_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
INSTLINKBIN = $(LINK)
INSTLINKDEV = $(LINK)
INSTLINKBINCMD = $(LINK)
INSTLINKDEVCMD = $(LINK)
LIB_PREFIX = lib
LIB_EXT = so
@ -55,6 +56,7 @@ 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\
@ -102,8 +104,9 @@ endif
INSTDEVCMD = cp
INST_SYS_PREFIX = /opt/OpenSceneGraph
INST_SHARE_PREFIX = /opt/OpenSceneGraph
INST_SHARE_PREFIX = /opt
MAKEDIST = $(TOPDIR)/Make/makepkg
endif
#### IRIX Specific definitions

136
Make/makepkg Normal file
View File

@ -0,0 +1,136 @@
#!/bin/sh
die()
{
echo >& $1
exit 1
}
x()
{
echo $*
$*
}
print_pkginfo()
{
__pstamp=`fgrep $LOGNAME /etc/passwd | cut -f5 -d":"`
cat <<- EOF
PKG="$1"
NAME="$2"
`[ "$OS" = "SunOS" ] && echo ARCH=sparc`
VERSION=`$TOPDIR/bin/osgversion`
CATEGORY="application,graphics,opengl"
DESC="$3"
BASEDIR="/opt/"
VENDOR="OpenSceneGraph"
EMAIL="info@openscenegraph.org"
PSTAMP=$__pstamp
URL="http://openscenegraph.org"
MAXINST="1"
EOF
}
print_prototype()
{
echo "i pkginfo"
[ -f depend ] && echo "i depend"
for d in $*
do
d=`echo $d | sed 's/\/opt\///`
echo "d none $d ? root sys"
done
for d in $*
do
for f in `ls -1 $d`
do
f=$d/$f
if [ -f $f ]
then
[ -x $f ] && MODE=0555 || MODE=0444
dest=`echo $f | sed 's/\/opt\///'`
echo "f none $dest=$f $MODE root sys"
fi
done
done
}
make_package()
{
PKGNAME=$1
PKGDIR=$PKGSUBDIR/$PKGNAME.pkg
x rm -rf $PKGDIR
x mkdir $PKGDIR
echo Making pkginfo ...
print_pkginfo "$1" "$2" "$3" > $PKGDIR/pkginfo
shift; shift; shift
echo Making prototype ...
print_prototype $* > $PKGDIR/prototype
DISTNAME="$PKGNAME"-"`$TOPDIR/bin/osgversion`"-"$OS"-"local"
THISDIR=`pwd`
x cd $PKGDIR
x pkgmk -d .
x cd $THISDIR
x pkgtrans -s $PKGDIR $DISTNAME $PKGNAME
x mv "$PKGDIR"/"$DISTNAME" "$PKGDIR"/..
}
OS=$1
TOPDIR=$2
INST_LIBS=$3
INST_PLUGINS=$4
INST_INCLUDE=$5
INST_DEMOS=$6
INST_DEMO_SRC=$7
INST_DOC=$8
INST_DATA=$9
PKGSUBDIR=dist/PKG
make_package\
"OpenSceneGraph" \
"Open Scene Graph - Run-time environment"\
"An OpenGL based scene graph. This installation includes a set of run-time libraries, and demo programs"\
$INST_LIBS $INST_PLUGINS $INST_DEMOS\
SUBDIRS=`ls $TOPDIR/include | grep -v CVS`
INSTARG=""
for d in $SUBDIRS
do
dd="$INST_INCLUDE"/"$d"
[ -d $dd ] && INSTARG="$INSTARG $dd"
done
SUBDIRS=`ls $TOPDIR/src/Demos | grep -v CVS`
for d in $SUBDIRS
do
dd="$INST_DEMO_SRC"/"$d"
[ -d $dd ] && INSTARG="$INSTARG $dd"
done
make_package\
"OpenSceneGraph-dev"\
"Open Scene Graph - Development environment"\
"An OpenGL based scene graph. This installation includes header files and demo program source files"\
$INSTARG
exit 0

View File

@ -176,14 +176,15 @@ then
exit 1
fi
TOPDIR=$1
INST_LIBS=$2
INST_PLUGINS=$3
INST_INCLUDE=$4
INST_DEMOS=$5
INST_DEMO_SRC=$6
INST_DOC=$7
INST_DATA=$8
OS=$1
TOPDIR=$2
INST_LIBS=$3
INST_PLUGINS=$4
INST_INCLUDE=$5
INST_DEMOS=$6
INST_DEMO_SRC=$7
INST_DOC=$8
INST_DATA=$9
REV="`$TOPDIR""/bin/osgversion`"
[ -z "$REV" ] && die "makerpm: requires a functional $TOPDIR/bin/osgversion"

View File

@ -215,6 +215,8 @@ __link :
$(LINK) $$LINK `basename $(LNDEST)`;\
fi
__instfiles :
@echo $(INSTFILES)
sinclude $(MAKEDEPEND)

Binary file not shown.

Binary file not shown.

View File

@ -12,12 +12,11 @@ DIRS = \
osgreflect\
osgscribe\
osgstereoimage\
osgtext\
osgtexture\
osgviews\
osgversion\
sgv
LEFT_TO_DO =\
osgtext\
include $(TOPDIR)/Make/makedirrules

View File

@ -12,8 +12,18 @@ CXXFILES =\
terrain.cpp\
trees.cpp\
HEADERFILES = \
GliderManipulator.h\
hat.h\
terrain_data.h\
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
$(HEADERFILES)\
Makefile.inst=Makefile
EXEC = osghangglide
include $(TOPDIR)/Make/makerules

View File

@ -7,6 +7,10 @@ CXXFILES =\
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
Makefile.inst=Makefile
EXEC = osgbillboard
include $(TOPDIR)/Make/makerules

View File

@ -6,8 +6,18 @@ CXXFILES =\
osgcluster.cpp\
receiver.cpp\
HEADERFILES =\
broadcaster.h\
receiver.h\
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(SOCKET_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
$(HEADERFILES)\
Makefile.inst=Makefile
EXEC = osgcluster
include $(TOPDIR)/Make/makerules

View File

@ -5,8 +5,17 @@ CXXFILES =\
OrientationConverter.cpp\
osgconv.cpp\
HEADERFILES = \
OrientationConverter.h
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
$(HEADERFILES)\
Makefile.inst=Makefile
EXEC = osgconv
include $(TOPDIR)/Make/makerules

View File

@ -6,6 +6,10 @@ CXXFILES =\
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
Makefile.inst=Makefile
EXEC = osgcopy
include $(TOPDIR)/Make/makerules

View File

@ -6,6 +6,10 @@ CXXFILES =\
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
Makefile.inst=Makefile
EXEC = osgcube
include $(TOPDIR)/Make/makerules

View File

@ -6,6 +6,10 @@ CXXFILES =\
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
Makefile.inst=Makefile
EXEC = osgimpostor
include $(TOPDIR)/Make/makerules

View File

@ -6,6 +6,10 @@ CXXFILES =\
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
Makefile.inst=Makefile
EXEC = osgreflect
include $(TOPDIR)/Make/makerules

View File

@ -6,6 +6,10 @@ CXXFILES =\
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
Makefile.inst=Makefile
EXEC = osgscribe
include $(TOPDIR)/Make/makerules

View File

@ -6,6 +6,10 @@ CXXFILES =\
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
Makefile.inst=Makefile
EXEC = osgstereoimage
include $(TOPDIR)/Make/makerules

View File

@ -4,7 +4,12 @@ include $(TOPDIR)/Make/makedefs
CXXFILES =\
main.cpp\
LIBS += $(OSG_LIBS) $(FREETYPE_LIB) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
LINKARGS += -L/usr/local/lib
LIBS += -losgText $(OSG_LIBS) $(FREETYPE_LIB) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
Makefile.inst=Makefile
EXEC = osgtext

View File

@ -6,6 +6,10 @@ CXXFILES =\
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
Makefile.inst=Makefile
EXEC = osgtexture
include $(TOPDIR)/Make/makerules

View File

@ -6,6 +6,10 @@ CXXFILES =\
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
Makefile.inst=Makefile
EXEC = osgversion
include $(TOPDIR)/Make/makerules

View File

@ -6,6 +6,10 @@ CXXFILES =\
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
Makefile.inst=Makefile
EXEC = osgviews
include $(TOPDIR)/Make/makerules

View File

@ -6,6 +6,10 @@ CXXFILES =\
LIBS += $(OSG_LIBS) $(GLUT_LIB) $(GL_LIBS) $(X_LIBS) $(OTHER_LIBS)
INSTFILES = \
$(CXXFILES)\
Makefile.inst=Makefile
EXEC = sgv
include $(TOPDIR)/Make/makerules

View File

@ -1,7 +1,10 @@
TOPDIR = ../..
include $(TOPDIR)/Make/makedefs
DIRS = osg rgb lib3ds flt obj lwo txp dw bmp pic tga osgtgz tgz zip
#DIRS = osg rgb lib3ds flt obj lwo txp dw bmp pic tga osgtgz tgz zip
DIRS = osg rgb lib3ds flt obj lwo dw bmp pic tga osgtgz tgz zip
#DIRS += txp
# comment in if you have Performer installed.
# DIRS += pfb

View File

@ -27,7 +27,7 @@ void FTContour::AddPoint( const float x, const float y)
}
FTVectoriser::FTVectoriser( const FT_Glyph glyph)
FTVectoriser::FTVectoriser( FT_Glyph glyph)
: contour(0),
contourFlag(0),
kBSTEPSIZE( 0.2)