Futher Makefile updates for Cygwin support - from Norman Vine.

This commit is contained in:
Robert Osfield
2002-01-03 23:28:54 +00:00
parent 75fe0a6a7f
commit 9b4028e7eb
6 changed files with 152 additions and 3 deletions

74
Make/makedefs.cyg Executable file
View File

@@ -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 = ""

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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 =

62
Make/makerules.cyg Executable file
View File

@@ -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)