diff --git a/Make/makedefs.cyg b/Make/makedefs.cyg new file mode 100755 index 000000000..74d93cc22 --- /dev/null +++ b/Make/makedefs.cyg @@ -0,0 +1,74 @@ +MAKEDIR = $(OSGHOME)/Make +INSTRULES = $(MAKEDIR)/instrules +MAKEDEPEND = Makedepend + +OBJS = $(C++FILES:.cpp=.o) $(CFILES:.c=.o) $(YACCFILES:.y=.o) $(LEXFILES:.l=.o) + +DEPFILES = $(OBJS:.o=.d) + +C++ = c++ +YFLAGS = -d + +#LCINCS += -I/usr/X11R6/include +#LC++INCS += ${LCINCS} + +CFLAGS = -O2 -DWIN32 -W -Wall $(LCINCS) +#CFLAGS = -g -DWIN32 -W -Wall $(LCINCS) + +C++FLAGS = ${CFLAGS} +CPPFLAGS = ${CFLAGS} + +SO_EXT = dll + +LDFLAGS = -O2 -W -Wall +#LDFLAGS = -g -W -Wall + +LINKERARGS = + +DYNAMICLIBRARYLIB = + +PFLOADERPATH = /usr/lib/libpfdb + +GLUTLIB = -lglut32 +GL_LIBS = -lglu32 -lopengl32 +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 + +# +# TARGET_DIRS are directories that would not exist on the system except +# for the presence of OpenSceneGraph. 'make instclean' removes these +# directories +# +TARGET_DIRS = \ + /usr/include/osg \ + /usr/include/osgDB \ + /usr/include/osgGLUT \ + /usr/include/osgUtil \ + /usr/include/osgText \ + /usr/share/OpenSceneGraph\ + /usr/share/OpenSceneGraph/data\ + /usr/share/OpenSceneGraph/data/Images\ + /usr/share/OpenSceneGraph/data/Test\ + /usr/lib/osgPlugins\ + + +TARGET_BIN = /usr/bin +TARGET_LIB = /usr/lib +TARGET_INCLUDE = /usr/include +TARGET_DATA = /usr/share/OpenSceneGraph/data + +# +# This definitions are necessary for IRIX. The following statement +# does not work for smake using a sh: +# +# for variable in $(LIST); do ...; done +# +# .. if $(LIST) is a NULL variable. So we have to define 0 length +# strings and check for them inside the for loop +# + +TARGET_LIB_FILES = "" +TARGET_BIN_FILES = "" +TARGET_INCLUDE_FILES = "" +TARGET_DATA_FILES = "" +TARGET_LOADER_FILES = "" diff --git a/Make/makedefs.freebsd b/Make/makedefs.freebsd index 73cafc8f0..47072fa24 100644 --- a/Make/makedefs.freebsd +++ b/Make/makedefs.freebsd @@ -14,6 +14,8 @@ CFLAGS = -O2 -W -Wall $(LCINCS) C++FLAGS = ${CFLAGS} CPPFLAGS = ${CFLAGS} +SO_EXT = so + FREEBSD_LOCALLIBS = -L/usr/local/lib -rpath /usr/local/lib LDFLAGS = -O2 -W -Wall -pthread -L/usr/local/lib -L/usr/X11R6/lib @@ -21,6 +23,8 @@ LDFLAGS = -O2 -W -Wall -pthread -L/usr/local/lib -L/usr/X11R6/lib DYNAMICLIBRARYLIB = PFLIBS = GLUTLIB = -lglut +GL_LIBS = -lGLU -lGL -lm +X_LIBS = -lXmu -lX11 -lXi # # TARGET_DIRS are directories that would not exist on the system except diff --git a/Make/makedefs.irix.std b/Make/makedefs.irix.std index 77d70cb02..ee1b8c963 100644 --- a/Make/makedefs.irix.std +++ b/Make/makedefs.irix.std @@ -13,6 +13,8 @@ CFLAGS = -O2 -n32 -LANG:std -OPT:Olimit=0 -DEBUG:woff=1682 -DEBUG:woff=3303 C++FLAGS = ${CFLAGS} CPPFLAGS = ${CFLAGS} +SO_EXT = so + LDFLAGS = -O2 -n32 -LANG:std -OPT:Olimit=0 .SUFFIXES: .cpp .o @@ -23,6 +25,8 @@ LINKERARGS = DYNAMICLIBRARYLIB = PFLOADERPATH = /usr/lib32/libpfdb GLUTLIB = -lglut +GL_LIBS = -lGLU -lGL -lm +X_LIBS = -lXmu -lX11 -lXi # # TARGET_DIRS are directories that would not exist on the system except diff --git a/Make/makedefs.linux b/Make/makedefs.linux index 1515cb78a..b1527c061 100644 --- a/Make/makedefs.linux +++ b/Make/makedefs.linux @@ -15,6 +15,8 @@ CFLAGS = -O2 -W -Wall $(LCINCS) C++FLAGS = ${CFLAGS} CPPFLAGS = ${CFLAGS} +SO_EXT = so + LDFLAGS = -O2 -W -Wall -L/usr/X11R6/lib #LDFLAGS = -g -W -Wall -L/usr/X11R6/lib @@ -23,6 +25,8 @@ DYNAMICLIBRARYLIB = -ldl PFLOADERPATH = /usr/lib/libpfdb GLUTLIB = -lglut +GL_LIBS = -lGLU -lGL -lm +X_LIBS = -lXmu -lX11 -lXi # # TARGET_DIRS are directories that would not exist on the system except diff --git a/Make/makedefs.macosx b/Make/makedefs.macosx index b04f97790..81a0bf48b 100644 --- a/Make/makedefs.macosx +++ b/Make/makedefs.macosx @@ -2,6 +2,7 @@ MAKEDIR = $(OSGHOME)/Make INSTRULES = $(MAKEDIR)/instrules MAKEDEPEND = Makedepend OBJS = $(C++FILES:.cpp=.o) $(CFILES:.c=.o) $(YACCFILES:.y=.o) $(LEXFILES:.l=.o) +SO_EXT = so DEPFILES = $(OBJS:.o=.d) @@ -14,11 +15,11 @@ C++FLAGS = ${CFLAGS} CPPFLAGS = ${CFLAGS} LIBTOOL = libtool LD = ld -PLUGINLIBS = ../../../lib/osgPlugins/osgdb_rgb.so ../../../lib/osgPlugins/osgdb_3ds.so ../../../lib/osgPlugins/osgdb_osg.so -MACOSXLIBS = ../../../lib/libosg.so ../../../lib/libosgUtil.so ../../../lib/libosgGLUT.so ../../../lib/libosgDB.so +PLUGINLIBS = $(TOP)/lib/osgPlugins/osgdb_rgb.SO_EXT $(TOP)/lib/osgPlugins/osgdb_3ds.SO_EXT $(TOP)/lib/osgPlugins/osgdb_osg.SO_EXT +MACOSXLIBS = $(TOP)/lib/libosg.SO_EXT $(TOP)/lib/libosgUtil.SO_EXT $(TOP)/lib/libosgGLUT.SO_EXT $(TOP)/lib/libosgDB.SO_EXT PLUGINS = $(PLUGINLIBS) -LDFLAGS = -all_load -framework GLUT -framework Carbon -L/usr/local/lib -L/usr/lib -L../../../lib/osgPlugins -ldl -lstdc++ -lm +LDFLAGS = -all_load -framework GLUT -framework Carbon -L/usr/local/lib -L/usr/lib -L$(TOP)/lib/osgPlugins -ldl -lstdc++ -lm DYNAMICLIBRARYLIB = diff --git a/Make/makerules.cyg b/Make/makerules.cyg new file mode 100755 index 000000000..7b453885f --- /dev/null +++ b/Make/makerules.cyg @@ -0,0 +1,62 @@ + +all : $(MAKEDEPEND) $(TARGET) $(LIB) + +$(TARGET) : $(OBJS) + $(C++) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ + +$(LIB) : $(OBJS) + $(C++) $(LDFLAGS) -shared -Wl,--export-all-symbols $(OBJS) $(LIBS) \ + -Wl,--output-def,lib$(TARGET_BASENAME).def -Wl,--out-implib,$(TOP)/lib/lib$(TARGET_BASENAME).a -o $@ + +clean : + rm -f $(OBJS) core $(TARGET) $(MAKEDEPEND) + touch $(MAKEDEPEND) + +clobber : clean + rm -f $(TARGET) a.out $(LIB) + +to_unix : + for f in *.cpp ; do to_unix $$f $$f; done + for f in *.h ; do to_unix $$f $$f; done + +beautify : + for f in *.cpp ; do mv $$f $$f.bak; bcpp $$f.bak $$f; rm $$f.bak; done + for f in *.h ; do mv $$f $$f.bak; bcpp $$f.bak $$f; rm $$f.bak; done + + +# force it +depend : + $(C++) $(C++FLAGS) -M $(C++FILES) $(CFILES) > $(MAKEDEPEND) + +$(MAKEDEPEND) : $(C++FILES) $(CFILES) + $(C++) $(C++FLAGS) -M $(C++FILES) $(CFILES) > $(MAKEDEPEND) + +%.o : %.cpp + $(C++) $(C++FLAGS) -c $*.cpp -o $*.o + +%.o : %.c + $(CC) $(C++FLAGS) -c $*.c -o $*.o + +docs: + [ "$(TARGET_BASENAME)" != "" ] && \ + mkdir -p ../../doc/doc++/$(TARGET_BASENAME) && \ + doc++ -d ../../doc/doc++/$(TARGET_BASENAME) -H -A ../../include/$(TARGET_BASENAME)/* && \ + echo $(TARGET_BASENAME) HTML documentation created in ../../doc/doc++/$(TARGET_BASENAME) + +install : home + @ make __install + +instlinks : home + @ make __instlinks + +instclean : home + @ make __instclean + + +home : + @ [ -n "$(OSGHOME)" ] || (echo ; echo "-------------> Please define OSGHOME"; echo) + @ [ -n "$(OSGHOME)" ] && echo > /dev/null; + +sinclude $(INSTRULES) + +include $(MAKEDEPEND)