diff --git a/Makefile b/Makefile index 867fd63..9334e7d 100644 --- a/Makefile +++ b/Makefile @@ -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) diff --git a/auto/src/glew_head.h b/auto/src/glew_head.h index 78ee921..8049b5a 100644 --- a/auto/src/glew_head.h +++ b/auto/src/glew_head.h @@ -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 diff --git a/config/Makefile.linux-mingw32 b/config/Makefile.linux-mingw32 new file mode 100644 index 0000000..85ad647 --- /dev/null +++ b/config/Makefile.linux-mingw32 @@ -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) diff --git a/config/Makefile.linux-mingw64 b/config/Makefile.linux-mingw64 new file mode 100644 index 0000000..31c7821 --- /dev/null +++ b/config/Makefile.linux-mingw64 @@ -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)