2 GNUTLS_FILE
:=gnutls-3.0
.11.
tar.xz
3 GNUTLS_DIR
:=gnutls-3.0
.11
5 GMP_FILE
:=gmp-5.0
.2.
tar.bz2
8 P11_KIT_FILE
:=p11-kit-0.10.
tar.gz
9 P11_KIT_DIR
:=p11-kit-0.10
11 NETTLE_FILE
:=nettle-2.4.
tar.gz
12 NETTLE_DIR
:=nettle-2.4
14 CROSS_DIR
:=$(PWD
)/win32
15 BIN_DIR
:=$(CROSS_DIR
)/bin
16 LIB_DIR
:=$(CROSS_DIR
)/lib
17 HEADERS_DIR
:=$(LIB_DIR
)/include
19 all: update-gpg-keys gnutls-w32
22 gpg
--recv-keys
96865171 B565716F D92765AF A8F4C2FD DB899F46
24 $(GNUTLS_DIR
)-w32.zip
: $(LIB_DIR
) $(BIN_DIR
) $(GNUTLS_DIR
)/.installed
25 -mv
$(CROSS_DIR
)/lib
/include $(CROSS_DIR
)/include
26 cd
$(CROSS_DIR
) && zip
-r
$(PWD
)/$@
*
27 gpg
--sign
--detach
$(GNUTLS_DIR
)-w32.zip
29 gnutls-w32
: $(GNUTLS_DIR
)-w32.zip
31 nettle
: $(NETTLE_DIR
)/.installed
33 gmp
: $(GMP_DIR
)/.installed
40 mkdir
-p
$(HEADERS_DIR
)
42 CONFIG_FLAGS
:= --host
=i686-w64-mingw32
--enable-shared
--disable-static
--bindir=$(BIN_DIR
) --libdir=$(LIB_DIR
) --includedir=$(HEADERS_DIR
)
44 $(P11_KIT_DIR
)/.configured
:
45 test -f
$(P11_KIT_FILE
) || wget http
://p11-glue.freedesktop.org
/releases
/$(P11_KIT_FILE
)
46 test -f
$(P11_KIT_FILE
).sig || wget http
://p11-glue.freedesktop.org
/releases
/$(P11_KIT_FILE
).sig
47 gpg
--verify
$(P11_KIT_FILE
).sig
48 test -d
$(P11_KIT_DIR
) ||
tar -xf
$(P11_KIT_FILE
)
49 cd
$(P11_KIT_DIR
) && .
/configure
$(CONFIG_FLAGS
) && cd ..
52 $(P11_KIT_DIR
)/.installed
: $(P11_KIT_DIR
)/.configured
53 make
-C
$(P11_KIT_DIR
) -j2
54 make
-C
$(P11_KIT_DIR
) install -i
55 -rm -rf
$(HEADERS_DIR
)/p11-kit
56 -mv
$(HEADERS_DIR
)/p11-kit-1
/p11-kit
$(HEADERS_DIR
)
57 -rmdir
$(HEADERS_DIR
)/p11-kit-1
58 rm -f
$(BIN_DIR
)/p11-kit.exe
61 $(GMP_DIR
)/.configured
:
62 test -f
$(GMP_FILE
) || wget ftp
://ftp.gmplib.org
/pub
/$(GMP_DIR
)/$(GMP_FILE
)
63 test -f
$(GMP_FILE
).sig || wget ftp
://ftp.gmplib.org
/pub
/$(GMP_DIR
)/$(GMP_FILE
).sig
64 gpg
--verify
$(GMP_FILE
).sig
65 test -d
$(GMP_DIR
) ||
tar -xf
$(GMP_FILE
)
66 cd
$(GMP_DIR
) && .
/configure
$(CONFIG_FLAGS
) --enable-fat
--exec-prefix
=$(LIB_DIR
) --oldincludedir=$(HEADERS_DIR
) && cd ..
69 $(GMP_DIR
)/.installed
: $(GMP_DIR
)/.configured
70 make
-C
$(GMP_DIR
) -j2
71 make
-C
$(GMP_DIR
) install -i
74 $(NETTLE_DIR
)/.configured
: $(GMP_DIR
)/.installed
75 test -f
$(NETTLE_FILE
) || wget http
://www.lysator.liu.se
/~nisse
/archive
/$(NETTLE_FILE
)
76 test -f
$(NETTLE_FILE
).sig || wget http
://www.lysator.liu.se
/~nisse
/archive
/$(NETTLE_FILE
).sig
77 gpg
--verify
$(NETTLE_FILE
).sig
78 test -d
$(NETTLE_DIR
) ||
tar -xf
$(NETTLE_FILE
)
79 cd
$(NETTLE_DIR
) && CFLAGS
="-I$(HEADERS_DIR)" CXXFLAGS
="-I$(HEADERS_DIR)" .
/configure
$(CONFIG_FLAGS
) --with-lib-path
=$(LIB_DIR
) && cd ..
82 #nettle messes up installation
83 $(NETTLE_DIR
)/.installed
: $(NETTLE_DIR
)/.configured
84 make
-C
$(NETTLE_DIR
) -j2
85 make
-C
$(NETTLE_DIR
) install -i
86 rm -f
$(LIB_DIR
)/libnettle.a
$(LIB_DIR
)/libhogweed.a
$(BIN_DIR
)/nettle-hash.exe
$(BIN_DIR
)/nettle-lfib-stream.exe
$(BIN_DIR
)/pkcs1-conv.exe
$(BIN_DIR
)/sexp-conv.exe
87 cp
$(NETTLE_DIR
)/libnettle.dll.a
$(NETTLE_DIR
)/libhogweed.dll.a
$(LIB_DIR
)/
88 cp
$(NETTLE_DIR
)/libnettle
*.dll
$(NETTLE_DIR
)/libhogweed
*.dll
$(BIN_DIR
)/
91 $(GNUTLS_DIR
)/.installed
: $(GNUTLS_DIR
)/.configured
92 make
-C
$(GNUTLS_DIR
) -j2
93 make
-C
$(GNUTLS_DIR
) install -i
94 cp
$(GNUTLS_DIR
)/COPYING
$(GNUTLS_DIR
)/COPYING.LESSER
$(CROSS_DIR
)
97 $(GNUTLS_DIR
)/.configured
: $(NETTLE_DIR
)/.installed
$(P11_KIT_DIR
)/.installed
98 test -f
$(GNUTLS_FILE
) || wget ftp
://ftp.gnu.org
/gnu
/gnutls
/$(GNUTLS_FILE
)
99 test -f
$(GNUTLS_FILE
).sig || wget ftp
://ftp.gnu.org
/gnu
/gnutls
/$(GNUTLS_FILE
).sig
100 gpg
--verify
$(GNUTLS_FILE
).sig
101 test -d
$(GNUTLS_DIR
) ||
tar -xf
$(GNUTLS_FILE
)
102 cd
$(GNUTLS_DIR
) && \
103 P11_KIT_CFLAGS
="-I$(HEADERS_DIR)" \
104 P11_KIT_LIBS
="$(LIB_DIR)/libp11-kit.la" \
105 LDFLAGS
="-L$(LIB_DIR)" CFLAGS
="-I$(HEADERS_DIR)" CXXFLAGS
="-I$(HEADERS_DIR)" \
106 .
/configure
$(CONFIG_FLAGS
) --with-libnettle-prefix
=$(LIB_DIR
) \
107 --disable-openssl-compatibility
&& cd ..
111 rm -rf
$(CROSS_DIR
) $(GNUTLS_DIR
)/.installed
$(NETTLE_DIR
)/.installed
$(GMP_DIR
)/.installed
$(P11_KIT_DIR
)/.installed
114 rm -rf
$(CROSS_DIR
) $(GNUTLS_DIR
) $(NETTLE_DIR
) $(GMP_DIR
) $(P11_KIT_DIR
)