aboutsummaryrefslogtreecommitdiff
path: root/binary/Makefile.windows
diff options
context:
space:
mode:
Diffstat (limited to 'binary/Makefile.windows')
-rw-r--r--binary/Makefile.windows59
1 files changed, 59 insertions, 0 deletions
diff --git a/binary/Makefile.windows b/binary/Makefile.windows
new file mode 100644
index 00000000..ea8f0a60
--- /dev/null
+++ b/binary/Makefile.windows
@@ -0,0 +1,59 @@
1
2# "i686-w64-mingw32" or "x86_64-w64-mingw32"
3MINGW_PREFIX=i686-w64-mingw32
4# sysroot of your mingw-w64 installation
5MINGW_SYSROOT=/usr/lib/mingw-w64-sysroot/$(MINGW_PREFIX)
6# "mingw" or "mingw64"
7OPENSSL_PLATFORM=mingw
8# Versions of dependencies
9LIBLUA_VERSION=5.3.4
10OPENSSL_VERSION=1.0.2o
11ZLIB_VERSION=1.2.11
12
13windows-binary: windows-deps/lib/liblua.a windows-deps/lib/libssl.a windows-deps/lib/libz.a
14 STATIC_GCC_AR=$(MINGW_PREFIX)-ar \
15 STATIC_GCC_RANLIB=$(MINGW_PREFIX)-ranlib \
16 STATIC_GCC_CC=$(MINGW_PREFIX)-gcc \
17 STATIC_GCC_LIBDIR=$(MINGW_SYSROOT)/lib \
18 LUAROCKS_CROSS_COMPILING=1 \
19 make binary LUA_DIR=$(PWD)/windows-deps BINARY_CC=$(MINGW_PREFIX)-gcc BINARY_NM=$(MINGW_PREFIX)-nm BINARY_PLATFORM=windows BINARY_TARGET=build-windows-binary BINARY_SYSROOT=$(MINGW_SYSROOT)
20
21build-windows-deps/lua-$(LIBLUA_VERSION).tar.gz:
22 mkdir -p build-windows-deps
23 cd build-windows-deps && curl -OL https://www.lua.org/ftp/lua-$(LIBLUA_VERSION).tar.gz
24build-windows-deps/lua-$(LIBLUA_VERSION): build-windows-deps/lua-$(LIBLUA_VERSION).tar.gz
25 cd build-windows-deps && tar zxvpf lua-$(LIBLUA_VERSION).tar.gz
26windows-deps/lib/liblua.a: build-windows-deps/lua-$(LIBLUA_VERSION)
27 cd build-windows-deps/lua-$(LIBLUA_VERSION)/src && make LUA_A=liblua.a CC=$(MINGW_PREFIX)-gcc AR="$(MINGW_PREFIX)-ar rcu" RANLIB=$(MINGW_PREFIX)-ranlib SYSCFLAGS= SYSLIBS= SYSLDFLAGS= liblua.a
28 mkdir -p windows-deps/include
29 cd build-windows-deps/lua-$(LIBLUA_VERSION)/src && cp lauxlib.h lua.h lua.hpp luaconf.h lualib.h ../../../windows-deps/include
30 mkdir -p windows-deps/lib
31 cd build-windows-deps/lua-$(LIBLUA_VERSION)/src && cp liblua.a ../../../windows-deps/lib
32
33build-windows-deps/openssl-$(OPENSSL_VERSION).tar.gz:
34 mkdir -p build-windows-deps
35 cd build-windows-deps && curl -OL https://www.openssl.org/source/openssl-$(OPENSSL_VERSION).tar.gz
36build-windows-deps/openssl-$(OPENSSL_VERSION): build-windows-deps/openssl-$(OPENSSL_VERSION).tar.gz
37 cd build-windows-deps && tar zxvpf openssl-$(OPENSSL_VERSION).tar.gz
38windows-deps/lib/libssl.a: build-windows-deps/openssl-$(OPENSSL_VERSION)
39 cd build-windows-deps/openssl-$(OPENSSL_VERSION) && ./Configure --prefix=$(PWD)/windows-deps --cross-compile-prefix=$(MINGW_PREFIX)- $(OPENSSL_PLATFORM)
40 cd build-windows-deps/openssl-$(OPENSSL_VERSION) && make install_sw
41
42build-windows-deps/zlib-$(ZLIB_VERSION).tar.gz:
43 mkdir -p build-windows-deps
44 cd build-windows-deps && curl -OL https://www.zlib.net/zlib-$(ZLIB_VERSION).tar.gz
45build-windows-deps/zlib-$(ZLIB_VERSION): build-windows-deps/zlib-$(ZLIB_VERSION).tar.gz
46 cd build-windows-deps && tar zxvpf zlib-$(ZLIB_VERSION).tar.gz
47windows-deps/lib/libz.a: build-windows-deps/zlib-$(ZLIB_VERSION)
48 cd build-windows-deps/zlib-$(ZLIB_VERSION) && sed -ie "s,dllwrap,$(MINGW_PREFIX)-dllwrap," win32/Makefile.gcc
49 cd build-windows-deps/zlib-$(ZLIB_VERSION) && ./configure --prefix=$(PWD)/windows-deps --static
50 cd build-windows-deps/zlib-$(ZLIB_VERSION) && make -f win32/Makefile.gcc CC=$(MINGW_PREFIX)-gcc AR=$(MINGW_PREFIX)-ar RC=$(MINGW_PREFIX)-windres STRIP=$(MINGW_PREFIX)-strip IMPLIB=libz.dll.a
51 mkdir -p windows-deps/include
52 cd build-windows-deps/zlib-$(ZLIB_VERSION) && cp zlib.h zconf.h ../../windows-deps/include
53 cd build-windows-deps/zlib-$(ZLIB_VERSION) && $(MINGW_PREFIX)-strip -g libz.a
54 mkdir -p windows-deps/lib
55 cd build-windows-deps/zlib-$(ZLIB_VERSION) && cp libz.a ../../windows-deps/lib
56
57windows-clean:
58 rm -rf windows-deps
59 rm -rf build-windows-binary