diff --git a/Make/makedefs.linux b/Make/makedefs.linux index ce72f7827..e7d4e55e9 100644 --- a/Make/makedefs.linux +++ b/Make/makedefs.linux @@ -6,29 +6,23 @@ OBJS = $(C++FILES:.cpp=.o) $(CFILES:.c=.o) $(YACCFILES:.y=.o) $(LEXFILES:.l=.o) DEPFILES = $(OBJS:.o=.d) -C++ = g++ -YFLAGS = -d +C++ = g++ +YFLAGS = -d LCINCS += -I/usr/X11R6/include LC++INCS += ${LCINCS} -CFLAGS = -O2 -W -Wall $(LCINCS) +CFLAGS = -O2 -W -Wall $(LCINCS) #CFLAGS = -g -W -Wall $(LCINCS) -C++FLAGS = ${CFLAGS} -CPPFLAGS = ${CFLAGS} +C++FLAGS = ${CFLAGS} +CPPFLAGS = ${CFLAGS} LDFLAGS = -O2 -W -Wall -L/usr/X11R6/lib #LDFLAGS = -g -W -Wall -L/usr/X11R6/lib DYNAMICLIBRARYLIB = -ldl -PFLIBS = \ - /usr/lib/Performer/Static/libpfdb/libpfpfb.a\ - /usr/lib/Performer/Static/libpfdu.a\ - /usr/lib/Performer/Static/libpfutil.a\ - /usr/lib/Performer/Static/libpf.a\ - +PFLOADERPATH = /usr/lib/libpfdb GLUTLIB = -lglut - # # TARGET_DIRS are directories that would not exist on the system except # for the presence of OpenSceneGraph. 'make instclean' removes these diff --git a/Make/makerules.linux b/Make/makerules.linux index f3e435335..c5d0e6860 100644 --- a/Make/makerules.linux +++ b/Make/makerules.linux @@ -34,7 +34,7 @@ $(MAKEDEPEND) : $(C++FILES) $(CFILES) $(C++) $(C++FLAGS) -c $*.cpp -o $*.o %.o : %.c - $(C++) $(C++FLAGS) -c $*.c -o $*.o + $(CC) $(C++FLAGS) -c $*.c -o $*.o docs: [ "$(TARGET_BASENAME)" != "" ] && \ diff --git a/src/Demos/sgv/Makefile b/src/Demos/sgv/Makefile index 044670043..1cbd5b37f 100644 --- a/src/Demos/sgv/Makefile +++ b/src/Demos/sgv/Makefile @@ -8,9 +8,6 @@ TARGET = ../../../bin/sgv TARGET_BIN_FILES = sgv -#note, use this library list when using the Performer osgPlugin. -#LIBS = ${PFLIBS} -losgGLUT -losgUtil -losgDB -losg $(GLUTLIB) -lGLU -lGL -lm -lXmu -lX11 -lXi - #note, standard library list. LIBS = -losgGLUT -losgUtil -losgDB -losg $(GLUTLIB) -lGLU -lGL -lm -lXmu -lX11 -lXi diff --git a/src/osgPlugins/pfb/Makefile b/src/osgPlugins/pfb/Makefile index 020810ec6..4aab16c49 100644 --- a/src/osgPlugins/pfb/Makefile +++ b/src/osgPlugins/pfb/Makefile @@ -2,6 +2,7 @@ include ../../../Make/makedefs CFILES = \ + stat.c\ C++FILES = \ ConvertFromPerformer.cpp\ @@ -10,21 +11,42 @@ C++FILES = \ LIB = ../../../lib/osgPlugins/osgdb_pfb.so -LIBS = -losg -losgDB $(PFLIBS) +LIBS = -losg -losgDB \ + -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 TARGET_LOADER_FILES = osgPlugins/osgdb_pfb.so C++FLAGS += -g -I../../../include -LDFLAGS += -g -L../../../lib -L/usr/X11R6/lib - -PREREQUISITES = preq +LDFLAGS += -g -L../../../lib -L$(PFLOADERPATH) -Xlinker -rpath $(PFLOADERPATH) include ../../../Make/makerules -preq : - [ -f /usr/lib/blah ] || exit 1 - - - diff --git a/src/osgPlugins/pfb/ReaderWriterPFB.cpp b/src/osgPlugins/pfb/ReaderWriterPFB.cpp index 7356ba18a..7edddf0cc 100644 --- a/src/osgPlugins/pfb/ReaderWriterPFB.cpp +++ b/src/osgPlugins/pfb/ReaderWriterPFB.cpp @@ -30,7 +30,70 @@ class ReaderWriterPFB : public osgDB::ReaderWriter void initPerformer(); virtual const char* className() { return "Performer Reader/Writer"; } - virtual bool acceptsExtension(const std::string& extension) { return extension=="pfb"; } + virtual bool acceptsExtension(const std::string& extension) + { + return + extension=="3ds" ? true : + extension=="arcinfo" ? true : + extension=="bin" ? true : + extension=="bpoly" ? true : + extension=="bw" ? true : + extension=="byu" ? true : + extension=="closest" ? true : + extension=="csb" ? true : + extension=="ct" ? true : + extension=="dem" ? true : + extension=="doublerot" ? true : + extension=="doublescale" ? true : + extension=="doubletrans" ? true : + extension=="dted" ? true : + extension=="dwb" ? true : + extension=="dxf" ? true : + extension=="evt" ? true : + extension=="flt" ? true : + extension=="gds" ? true : + extension=="gfo" ? true : + extension=="im" ? true : + extension=="irtp" ? true : + extension=="iv20" ? true : + extension=="iv" ? true : + extension=="lodfix" ? true : + extension=="lsa" ? true : + extension=="lsb" ? true : + extension=="medit" ? true : + extension=="m" ? true : + extension=="nff" ? true : + extension=="obj" ? true : + extension=="pegg" ? true : + extension=="pfb" ? true : + extension=="pfs" ? true : + extension=="phd" ? true : + extension=="poly" ? true : + extension=="post" ? true : + extension=="proc" ? true : + extension=="projtex" ? true : + extension=="pts" ? true : + extension=="rot" ? true : + extension=="scale" ? true : + extension=="sgf" ? true : + extension=="sgo" ? true : + extension=="so" ? true : + extension=="spf" ? true : + extension=="spherepatch3" ? true : + extension=="spherepatch" ? true : + extension=="sphere" ? true : + extension=="sponge" ? true : + extension=="star" ? true : + extension=="stla" ? true : + extension=="stlb" ? true : + extension=="substclip" ? true : + extension=="sv" ? true : + extension=="trans" ? true : + extension=="tri" ? true : + extension=="unc" ? true : + extension=="vct" ? true : + false; + } virtual osg::Image* readImage(const std::string& fileName, const osgDB::ReaderWriter::Options*) { @@ -79,11 +142,7 @@ class ReaderWriterPFB : public osgDB::ReaderWriter initPerformer(); - #ifdef __sgi pfNode* root = pfdLoadFile(fileName.c_str()); - #else - pfNode* root = pfdLoadFile_pfb(fileName.c_str()); - #endif ConvertFromPerformer converter; return converter.convert(root); @@ -102,7 +161,7 @@ class ReaderWriterPFB : public osgDB::ReaderWriter pfNode* root = converter.convert(&node); if (root) { - return pfdStoreFile_pfb(root,fileName.c_str())!=0; + return pfdStoreFile(root,fileName.c_str())!=0; } else {