Fixes for cygwin and mingw builds.
This commit is contained in:
@@ -15,6 +15,9 @@ YFLAGS = -d
|
||||
CFLAGS = -O2 -DWIN32 -W -Wall $(LCINCS)
|
||||
#CFLAGS = -g -DWIN32 -W -Wall $(LCINCS)
|
||||
|
||||
# need thunking when using wxWindows
|
||||
# CFLAGS += -fvtable-thunks
|
||||
|
||||
C++FLAGS = ${CFLAGS}
|
||||
CPPFLAGS = ${CFLAGS}
|
||||
|
||||
@@ -24,6 +27,9 @@ DL_EXT = dll
|
||||
LDFLAGS = -O2 -W -Wall
|
||||
#LDFLAGS = -g -W -Wall
|
||||
|
||||
# need thunking when using wxWindows
|
||||
# LDFLAGS += -fvtable-thunks
|
||||
|
||||
LINKERARGS =
|
||||
|
||||
DYNAMICLIBRARYLIB =
|
||||
@@ -73,3 +79,17 @@ TARGET_BIN_FILES = ""
|
||||
TARGET_INCLUDE_FILES = ""
|
||||
TARGET_DATA_FILES = ""
|
||||
TARGET_LOADER_FILES = ""
|
||||
|
||||
WXDIR = /src/wxMSW
|
||||
|
||||
WX_CFLAGS = -DWXUSINGDLL -D_X86_=1 -DWIN32 -D_WIN32 -DWINVER=0x0400 -D__WIN95__ -D__GNUWIN32__ -D__WIN32__ -I$(WXDIR)/include -I$(WXDIR)/contrib/include -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib -I$(WXDIR)/src/tiff -I$(WXDIR)/include/wx/msw/gnuwin32 -DSTRICT -D__WXMSW__ -D__WINDOWS__ -D__WXDEBUG__ -Wall -mwin32 -fno-pcc-struct-return -O2 -fno-exceptions -DWIN32_LEAN_AND_MEAN
|
||||
# -fno-rtti
|
||||
|
||||
WX_CPPFLAGS = -DWXUSINGDLL -D_X86_=1 -DWIN32 -D_WIN32 -DWINVER=0x0400 -D__WIN95__ -D__GNUWIN32__ -D__WIN32__ -I$(WXDIR)/include -I$(WXDIR)/contrib/include -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib -I$(WXDIR)/src/tiff -I$(WXDIR)/include/wx/msw/gnuwin32 -DSTRICT -D__WXMSW__ -D__WINDOWS__ -D__WXDEBUG__ -Wall -mwin32 -fno-pcc-struct-return -O2 -fno-exceptions -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1
|
||||
# -fno-rtti
|
||||
|
||||
WX_LDFLAGS = -L$(WXDIR)/lib -L$(WXDIR)/contrib/lib
|
||||
|
||||
WX_LD_LIBS =
|
||||
|
||||
WX_LIBS = $(WXDIR)/lib/libwx23_1.a -lpng -ljpeg -ltiff -lz -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -lodbc32 -ladvapi32 -lodbc32 -lwsock32 -lopengl32 -lglu32 -lole32 -loleaut32 -luuid
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
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++ = CC
|
||||
YFLAGS = -d
|
||||
#CFLAGS = -O2 -n32 -MDupdate $(MAKEDEPEND) -OPT:Olimit=0 -DEBUG:woff=1682 -DEBUG:woff=3303
|
||||
CFLAGS = -O2 -n32 --OPT:Olimit=0 -DEBUG:woff=1682 -DEBUG:woff=3303
|
||||
C++FLAGS = ${CFLAGS}
|
||||
CPPFLAGS = ${CFLAGS}
|
||||
|
||||
SO_EXT = so
|
||||
DL_EXT = so
|
||||
|
||||
LDFLAGS = -O2 -n32 -OPT:Olimit=0
|
||||
|
||||
.SUFFIXES: .cpp .o
|
||||
.cpp.o:
|
||||
$(C++) $(C++FLAGS) -c $<
|
||||
|
||||
LINKERARGS =
|
||||
DYNAMICLIBRARYLIB =
|
||||
PFLOADERPATH = /usr/lib32/libpfdb
|
||||
GLUTLIB = -lglut
|
||||
|
||||
#
|
||||
# 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/lib32/osgPlugins\
|
||||
|
||||
TARGET_BIN = /usr/bin
|
||||
TARGET_LIB = /usr/lib32
|
||||
TARGET_INCLUDE = /usr/include
|
||||
TARGET_DATA = /usr/share/OpenSceneGraph/data
|
||||
TARGET_LOADER_LIB = /usr/lib/osgPlugins
|
||||
|
||||
#
|
||||
# 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 = ""
|
||||
98
Make/makedefs.mingw
Normal file
98
Make/makedefs.mingw
Normal file
@@ -0,0 +1,98 @@
|
||||
MAKEDIR = $(OSGHOME)/Make
|
||||
INSTRULES = $(MAKEDIR)/instrules
|
||||
MAKEDEPEND = Makedepend
|
||||
|
||||
MINGW_HOME = d:/usr/mingw
|
||||
|
||||
OBJS = $(C++FILES:.cpp=.o) $(CFILES:.c=.o) $(YACCFILES:.y=.o) $(LEXFILES:.l=.o)
|
||||
|
||||
DEPFILES = $(OBJS:.o=.d)
|
||||
|
||||
C++ = c++
|
||||
|
||||
# need thunking when using wxWindows
|
||||
# C++ += -fvtable-thunks
|
||||
|
||||
YFLAGS = -d
|
||||
|
||||
#LCINCS += -I/usr/X11R6/include
|
||||
#LC++INCS += ${LCINCS}
|
||||
|
||||
OPT_FLAGS = -O
|
||||
DBG_FLAGS = -g
|
||||
WARN_FLAGS = -Wall -W
|
||||
|
||||
LDFLAGS = $(OPT_FLAGS) $(DBG_FLAGS) $(WARN_FLAGS)
|
||||
|
||||
CFLAGS = -DWIN32 $(LDFLAGS) $(LCINCS)
|
||||
|
||||
C++FLAGS = ${CFLAGS}
|
||||
CPPFLAGS = ${CFLAGS}
|
||||
|
||||
SO_EXT = dll
|
||||
DL_EXT = dll
|
||||
|
||||
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 = \
|
||||
$(MINGW_HOME)/include/osg \
|
||||
$(MINGW_HOME)/include/osgDB \
|
||||
$(MINGW_HOME)/include/osgGLUT \
|
||||
$(MINGW_HOME)/include/osgUtil \
|
||||
$(MINGW_HOME)/include/osgText \
|
||||
$(MINGW_HOME)/share/OpenSceneGraph\
|
||||
$(MINGW_HOME)/share/OpenSceneGraph/data\
|
||||
$(MINGW_HOME)/share/OpenSceneGraph/data/Images\
|
||||
$(MINGW_HOME)/share/OpenSceneGraph/data/Test\
|
||||
$(MINGW_HOME)/lib/osgPlugins\
|
||||
|
||||
|
||||
TARGET_BIN = $(MINGW_HOME)/bin
|
||||
TARGET_LIB = $(MINGW_HOME)/lib
|
||||
TARGET_INCLUDE = $(MINGW_HOME)/include
|
||||
TARGET_DATA = $(MINGW_HOME)/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 = ""
|
||||
|
||||
# set to your wxWindows TOP directory
|
||||
WXDIR = d:/src/wxMSW
|
||||
|
||||
WX_CFLAGS = -DWXUSINGDLL -D_X86_=1 -DWIN32 -D_WIN32 -DWINVER=0x0400 -D__WIN95__ -D__GNUWIN32__ -D__WIN32__ -I$(WXDIR)/include -I$(WXDIR)/contrib/include -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib -I$(WXDIR)/src/tiff -I$(WXDIR)/include/wx/msw/gnuwin32 -DSTRICT -D__WXMSW__ -D__WINDOWS__ -D__WXDEBUG__ -Wall -mwin32 -fno-pcc-struct-return -O2 -fno-exceptions -DWIN32_LEAN_AND_MEAN
|
||||
# -fno-rtti
|
||||
|
||||
WX_CPPFLAGS = -DWXUSINGDLL -D_X86_=1 -DWIN32 -D_WIN32 -DWINVER=0x0400 -D__WIN95__ -D__GNUWIN32__ -D__WIN32__ -I$(WXDIR)/include -I$(WXDIR)/contrib/include -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib -I$(WXDIR)/src/tiff -I$(WXDIR)/include/wx/msw/gnuwin32 -DSTRICT -D__WXMSW__ -D__WINDOWS__ -D__WXDEBUG__ -Wall -mwin32 -fno-pcc-struct-return -O2 -fno-exceptions -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1
|
||||
# -fno-rtti
|
||||
|
||||
WX_LDFLAGS = -L$(WXDIR)/lib -L$(WXDIR)/contrib/lib
|
||||
|
||||
WX_LD_LIBS =
|
||||
|
||||
WX_LIBS = $(WXDIR)/lib/libwx23_1.a -lpng -ljpeg -ltiff -lz -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -lodbc32 -ladvapi32 -lodbc32 -lwsock32 -lopengl32 -lglu32 -lole32 -loleaut32 -luuid
|
||||
@@ -5,12 +5,18 @@ $(TARGET) : $(OBJS)
|
||||
$(C++) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
|
||||
|
||||
$(LOADABLE) : $(OBJS)
|
||||
$(C++) $(LDFLAGS) -shared -Wl,--export-all-symbols $(OBJS) $(LIBS) \
|
||||
-Wl,--output-def,lib$(TARGET_BASENAME).def -Wl,--out-implib,$(OSGHOME)/lib/lib$(TARGET_BASENAME).a -o $@
|
||||
$(C++) $(LDFLAGS) -shared \
|
||||
-Wl,--export-all-symbols \
|
||||
-Wl,--output-def,lib$(TARGET_BASENAME).def \
|
||||
-Wl,--out-implib,$(OSGHOME)/lib/lib$(TARGET_BASENAME).a \
|
||||
-o $@ $(OBJS) $(LIBS)
|
||||
|
||||
$(LIB) : $(OBJS)
|
||||
$(C++) $(LDFLAGS) -shared -Wl,--export-all-symbols $(OBJS) $(LIBS) \
|
||||
-Wl,--output-def,lib$(TARGET_BASENAME).def -Wl,--out-implib,$(OSGHOME)/lib/lib$(TARGET_BASENAME).a -o $@
|
||||
$(C++) $(LDFLAGS) -shared \
|
||||
-Wl,--export-all-symbols \
|
||||
-Wl,--output-def,lib$(TARGET_BASENAME).def \
|
||||
-Wl,--out-implib,$(OSGHOME)/lib/lib$(TARGET_BASENAME).a \
|
||||
-o $@ $(OBJS) $(LIBS)
|
||||
|
||||
clean :
|
||||
rm -f $(OBJS) core $(TARGET) $(MAKEDEPEND)
|
||||
|
||||
72
Make/makerules.mingw
Normal file
72
Make/makerules.mingw
Normal file
@@ -0,0 +1,72 @@
|
||||
|
||||
all : $(MAKEDEPEND) $(TARGET) $(LOADABLE) $(LIB)
|
||||
|
||||
$(TARGET) : $(OBJS)
|
||||
$(C++) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
|
||||
|
||||
$(LOADABLE) : $(OBJS)
|
||||
$(C++) $(LDFLAGS) -shared \
|
||||
-Wl,--export-all-symbols \
|
||||
-Wl,--output-def,lib$(TARGET_BASENAME).def \
|
||||
-Wl,--out-implib,$(OSGHOME)/lib/lib$(TARGET_BASENAME).a \
|
||||
-o $@ $(OBJS) $(LIBS)
|
||||
|
||||
$(LIB) : $(OBJS)
|
||||
$(C++) $(LDFLAGS) -shared \
|
||||
-Wl,--export-all-symbols \
|
||||
-Wl,--output-def,lib$(TARGET_BASENAME).def \
|
||||
-Wl,--out-implib,$(OSGHOME)/lib/lib$(TARGET_BASENAME).a \
|
||||
-o $@ $(OBJS) $(LIBS)
|
||||
|
||||
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)
|
||||
Reference in New Issue
Block a user