Improved mingw32 support, including cross-compile from Linux

git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@622 783a27ee-832a-0410-bc00-9f386506c6dd
This commit is contained in:
nigels 2010-09-22 19:38:25 +00:00
parent 8f580bd5b8
commit bdfbf18f14
4 changed files with 46 additions and 2 deletions

View File

@ -31,7 +31,7 @@
include config/version
SHELL = /bin/sh
SYSTEM = $(shell config/config.guess | cut -d - -f 3 | sed -e 's/[0-9\.]//g;')
SYSTEM ?= $(shell config/config.guess | cut -d - -f 3 | sed -e 's/[0-9\.]//g;')
SYSTEM.SUPPORTED = $(shell test -f config/Makefile.$(SYSTEM) && echo 1)
ifeq ($(SYSTEM.SUPPORTED), 1)

View File

@ -71,7 +71,7 @@ typedef unsigned short wchar_t;
# define _W64
# endif
#endif
#if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_)
#if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_) && !defined(__MINGW64__)
# ifdef _WIN64
typedef __int64 ptrdiff_t;
# else

View File

@ -0,0 +1,22 @@
# For cross-compiling from Linux to Windows x86 using mingw32
# http://www.mingw.org/
#
# $ make SYSTEM=linux-mingw32
#
NAME = glew32
CC = i586-mingw32msvc-gcc
LD = i586-mingw32msvc-ld
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA = -DGLEW_MX
endif
CFLAGS.SO = -DGLEW_BUILD
LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK)
LDFLAGS.GL = -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
WARN = -Wall -W
POPT = -O2
BIN.SUFFIX = .exe
LIB.SONAME = lib$(NAME).dll
LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib
LIB.SHARED = $(NAME).dll
LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO)

View File

@ -0,0 +1,22 @@
# For cross-compiling from Linux to Windows amd64 using mingw32
# http://www.mingw.org/
#
# $ make SYSTEM=linux-mingw64
#
NAME = glew32
CC = amd64-mingw32msvc-gcc
LD = amd64-mingw32msvc-ld
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA = -DGLEW_MX
endif
CFLAGS.SO = -DGLEW_BUILD
LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK)
LDFLAGS.GL = -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
WARN = -Wall -W
POPT = -O2
BIN.SUFFIX = .exe
LIB.SONAME = lib$(NAME).dll
LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib
LIB.SHARED = $(NAME).dll
LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO)