summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhang <zxpmyth@yahoo.com.cn>2007-07-27 11:19:35 -0600
committerJosé Fonseca <jfonseca@vmware.com>2011-07-11 20:03:35 +0100
commita50a783da86f1310e54df4cf88f0fc897f354e3d (patch)
tree57a35816b22d29782791f56d55697a204bfc5a35
parentefea7892f9d32fb46d6bde54ca1e8557fa31e680 (diff)
downloadglut-a50a783da86f1310e54df4cf88f0fc897f354e3d.tar.gz
more Mingw32 fixes
-rw-r--r--include/GL/glut.h2
-rw-r--r--src/glut/glx/Makefile.mgw41
2 files changed, 18 insertions, 25 deletions
diff --git a/include/GL/glut.h b/include/GL/glut.h
index e286349..137b8ef 100644
--- a/include/GL/glut.h
+++ b/include/GL/glut.h
@@ -112,7 +112,7 @@ extern _CRTIMP void __cdecl exit(int);
and redifinition of Windows system defs, also removes requirement of
pretty much any standard windows header from this file */
-#if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__CYGWIN32__)
+#if (_MSC_VER >= 800) || defined(__MINGW32__) || defined(_STDCALL_SUPPORTED) || defined(__CYGWIN32__)
# define GLUTAPIENTRY __stdcall
#else
# define GLUTAPIENTRY
diff --git a/src/glut/glx/Makefile.mgw b/src/glut/glx/Makefile.mgw
index ae4eb6a..9fff2e1 100644
--- a/src/glut/glx/Makefile.mgw
+++ b/src/glut/glx/Makefile.mgw
@@ -74,35 +74,29 @@ TOP = ../../..
LIBDIR = $(TOP)/lib
-GLUT_DLL = glut32.dll
-GLUT_IMP = libglut32.a
-GLUT_DEF = glut.def
+LIB_NAME = glut32
-include $(TOP)/configs/config.mgw
-GLUT_USING_STDCALL ?= 1
+DLL_EXT = .dll
+IMP_EXT = .a
+LIB_PRE = lib
+STRIP = -s
+AR = ar
+ARFLAGS = crus
+DLLTOOL = dlltool
+GLUT_DLL = $(LIB_NAME)$(DLL_EXT)
+GLUT_IMP = $(LIB_PRE)$(LIB_NAME)$(IMP_EXT)
+GLUT_DEF = $(LIB_NAME).def
LDLIBS = -L$(LIBDIR) -lwinmm -lgdi32 -luser32 -lopengl32 -lglu32
-LDFLAGS = -Wl,--out-implib=$(LIBDIR)/$(GLUT_IMP) -Wl,--output-def=$(LIBDIR)/$(GLUT_DEF)
+LDFLAGS = $(STRIP) -shared -fPIC -Wl,--kill-at
CFLAGS += -DBUILD_GLUT32 -DGLUT_BUILDING_LIB -DMESA -D_DLL
-
-ifeq ($(GL_USING_STDCALL),0)
- CFLAGS += -DGL_NO_STDCALL
-endif
-
-ifeq ($(GLUT_USING_STDCALL),1)
- CFLAGS += -D_STDCALL_SUPPORTED
- LDFLAGS += -Wl,--add-stdcall-alias
-else
- CFLAGS += -DGLUT_NO_STDCALL
-endif
-
CFLAGS += -DNDEBUG -DLIBRARYBUILD -I$(TOP)/include
-CC = gcc
-CXX = g++
+CC = $(TOOLS_PREFIX)gcc
+CXX = $(TOOLS_PREFIX)g++
CXXFLAGS = $(CFLAGS)
AR = ar
@@ -189,10 +183,9 @@ $(LIBDIR):
mkdir -p $(LIBDIR)
$(LIBDIR)/$(GLUT_DLL) $(LIBDIR)/$(GLUT_IMP): $(OBJECTS)
- $(CXX) -shared -fPIC -o $(LIBDIR)/$(GLUT_DLL) $(LDFLAGS) \
- $^ $(LDLIBS)
-
-
+ $(CXX) $(LDFLAGS) -o $(LIBDIR)/$(GLUT_DLL) $^ $(LDLIBS)
+ $(DLLTOOL) --as=as --dllname $(LIB_NAME) --output-def $(LIBDIR)/$(GLUT_DEF) $^
+ $(DLLTOOL) --as=as -k --dllname $(LIB_NAME) --output-lib $(LIBDIR)/$(GLUT_IMP) --def $(LIBDIR)/$(GLUT_DEF)
clean:
-$(call UNLINK,*.o) \ No newline at end of file