Makefile
author Edouard Tisserant
Wed, 06 Dec 2017 15:50:36 +0100
changeset 29 503b0ef635cc
parent 28 950f79385de7
child 30 1def008491ba
permissions -rw-r--r--
Upgrade Makefile
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
     1
#! gmake
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
     2
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
     3
# This is Makefile for Beremiz installer
2
2d6e92fb19e9 Gave up with legacy dll collection mechanism, and fixed missing VC9 redistributable for winXP SP2
Edouard Tisserant
parents: 1
diff changeset
     4
#
14
8d49ccbdb035 clean up trailing whitespaces and wrong indention
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 13
diff changeset
     5
# Invoke with "make -f path/to/Makefile" on a linux box
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
     6
# in directory where build should happen.
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
     7
#
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
     8
# All those dependencies have to be installed :
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
     9
#
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    10
#  Windows installer :
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    11
#  - wine (tested with 1.2 and 1.6. Fail with 1.4)
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    12
#  - mingw32
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    13
#  - flex
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    14
#  - bison
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    15
#  - tar
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    16
#  - unrar
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    17
#  - wget
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    18
#  - nsis
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    19
#  - libtool
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    20
#  - xmlstarlet
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    21
#  - xsltproc
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    22
#  - python-lxml
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    23
#
2
2d6e92fb19e9 Gave up with legacy dll collection mechanism, and fixed missing VC9 redistributable for winXP SP2
Edouard Tisserant
parents: 1
diff changeset
    24
# WARNING : DISPLAY variable have to be defined to a valid X server
2d6e92fb19e9 Gave up with legacy dll collection mechanism, and fixed missing VC9 redistributable for winXP SP2
Edouard Tisserant
parents: 1
diff changeset
    25
#           in case it would be a problem, run :
2d6e92fb19e9 Gave up with legacy dll collection mechanism, and fixed missing VC9 redistributable for winXP SP2
Edouard Tisserant
parents: 1
diff changeset
    26
#           xvfb-run make -f /path/to/this/Makefile
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    27
16
ab28d0363837 1.2-rc1
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 15
diff changeset
    28
version = 1.2-rc1
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    29
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
    30
src := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
    31
HGREMOTE ?= https://hg.beremiz.org/
28
950f79385de7 HGROOT now default to parent of directory containing makefile. Added more instruction in Dockerfile
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 27
diff changeset
    32
HGROOT ?= $(abspath $(src)/..)
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    33
GITROOT := $(HGROOT)
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    34
DIST =
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
    35
CPUS := `cat /proc/cpuinfo | grep -e 'processor\W*:\W*[[:digit:]]*' | nl -n ln | tail -n1 | cut -f1`
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    36
BLKDEV=/dev/null
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    37
12
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
    38
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
    39
CROSS_COMPILE=i686-w64-mingw32
19
4cd3af22787e get gcc runtime lib from where gcc thinks they are
Edouard Tisserant 7BB06627 <edouard.tisserant@gmail.com>
parents: 18
diff changeset
    40
CROSS_COMPILE_LIBS_DIR=$(shell dirname $(shell $(CROSS_COMPILE)-gcc -print-libgcc-file-name))
12
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
    41
CC=$(CROSS_COMPILE)-gcc
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
    42
CXX=$(CROSS_COMPILE)-g++
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
    43
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
    44
define get_runtime_libs
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
    45
	cp $(CROSS_COMPILE_LIBS_DIR)/libgcc_s_sjlj-1.dll $(1)
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
    46
	cp $(CROSS_COMPILE_LIBS_DIR)/libstdc++-6.dll $(1)
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
    47
endef
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
    48
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    49
distfiles = $(src)/distfiles
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    50
sfmirror = downloads
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    51
tmp := $(shell mktemp -d)
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    52
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    53
define hg_get_archive
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
    54
test -d $(HGROOT)/`basename $(1)` || hg --cwd $(HGROOT) clone $(HGREMOTE)`basename $(1)`
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    55
hg -R $(HGROOT)/`basename $(1)` archive $(2) $(1)
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
    56
hg -R $(HGROOT)/`basename $(1)` id -i | sed 's/\+//' > $(1)/revision
15
db66054a2ff3 create and add file with revision information for Beremiz
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 14
diff changeset
    57
endef
db66054a2ff3 create and add file with revision information for Beremiz
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 14
diff changeset
    58
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    59
define get_src_hg
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    60
rm -rf $(1)
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    61
$(call hg_get_archive, $(1), $(2))
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    62
endef
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    63
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    64
define get_src_git
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    65
rm -rf $(1)
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    66
mkdir $(1)
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    67
(cd $(GITROOT)/`basename $(1)`; git archive --format=tar $(2)) | tar -C $(1) -x
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    68
endef
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    69
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    70
define get_src_http
5
6dec159540ee fixed absolute path in md5 files
Edouard Tisserant
parents: 4
diff changeset
    71
dld=$(distfiles)/`echo $(2) | tr ' ()' '___'`;( ( [ -f $$dld ] || wget $(1)/$(2) -O $$dld ) && ( [ ! -f $$dld.md5 ] && (cd $(distfiles);md5sum `basename $$dld`) > $$dld.md5 || (cd $(distfiles);md5sum -c `basename $$dld.md5`) ) ) &&
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    72
endef
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    73
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    74
define get_src_pypi
23
ddac0d77cb11 pypi repo now requires https
Paul Beltyukov <beltyukov.p.a@gmail.com>
parents: 21
diff changeset
    75
$(call get_src_http,https://pypi.python.org/packages/$(1),$(2))
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    76
endef
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    77
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    78
define get_src_sf
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
    79
$(call get_src_http,https://$(sfmirror).sourceforge.net/project/$(1),$(2))
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    80
endef
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    81
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    82
all: Beremiz-$(version).exe $(targets_add)
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    83
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    84
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    85
ifneq ("$(DIST)","")
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    86
include $(src)/$(DIST).mk
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    87
endif
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    88
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    89
build:
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    90
	rm -rf build
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    91
	mkdir -p build
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    92
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
    93
# native toolchain, pre-built
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
    94
mingwdir=build/mingw
8
b7e0285edfa8 Added msys' make, bash and coreutils with mingw binaries
Edouard Tisserant
parents: 6
diff changeset
    95
b7e0285edfa8 Added msys' make, bash and coreutils with mingw binaries
Edouard Tisserant
parents: 6
diff changeset
    96
define get_mingw
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
    97
$(call get_src_sf,mingw/MinGW/Base/$(1),$(2)) tar -C $(mingwdir) -xf $$dld
8
b7e0285edfa8 Added msys' make, bash and coreutils with mingw binaries
Edouard Tisserant
parents: 6
diff changeset
    98
endef
b7e0285edfa8 Added msys' make, bash and coreutils with mingw binaries
Edouard Tisserant
parents: 6
diff changeset
    99
define get_msys
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   100
$(call get_src_sf,mingw/MSYS/Base/$(1),$(2)) tar -C $(mingwdir) -xf $$dld
8
b7e0285edfa8 Added msys' make, bash and coreutils with mingw binaries
Edouard Tisserant
parents: 6
diff changeset
   101
endef
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   102
mingw: |build
5
6dec159540ee fixed absolute path in md5 files
Edouard Tisserant
parents: 4
diff changeset
   103
	rm -rf $(mingwdir)
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   104
	mkdir -p $(mingwdir)
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   105
	# windows.h
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   106
	$(call get_mingw,w32api/w32api-5.0.1,w32api-5.0.1-mingw32-dev.tar.xz)
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   107
	# mingw runtime
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   108
	$(call get_mingw,mingwrt/mingwrt-5.0.1,mingwrt-5.0.1-mingw32-dll.tar.xz)
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   109
	# mingw headers and lib
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   110
	$(call get_mingw,mingwrt/mingwrt-5.0.1,mingwrt-5.0.1-mingw32-dev.tar.xz)
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   111
	# binutils
26
5d6dc1aaf7ad Use newer binutils.
Paul Beltyukov <beltyukov.p.a@gmail.com>
parents: 23
diff changeset
   112
	$(call get_mingw,binutils/binutils-2.28,binutils-2.28-1-mingw32-bin.tar.xz)
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   113
	# C compiler
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   114
	$(call get_mingw,gcc/Version6/gcc-6.3.0,gcc-core-6.3.0-1-mingw32-bin.tar.xz)
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   115
	# dependencies
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   116
	$(call get_mingw,gmp/gmp-6.1.2,libgmp-6.1.2-2-mingw32-dll-10.tar.xz)
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   117
	$(call get_mingw,mpc/mpc-1.0.3,libmpc-1.0.3-1-mingw32-dll-3.tar.xz)
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   118
	$(call get_mingw,mpfr/mpfr-3.1.5,libmpfr-3.1.5-1-mingw32-dll-4.tar.xz)
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   119
	$(call get_mingw,gettext/gettext-0.18.3.2-2,libintl-0.18.3.2-2-mingw32-dll-8.tar.xz)
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   120
	$(call get_mingw,gettext/gettext-0.18.3.2-2,libgettextpo-0.18.3.2-2-mingw32-dll-0.tar.xz)
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   121
	$(call get_mingw,libiconv/libiconv-1.14-3,libiconv-1.14-3-mingw32-dll.tar.lzma)
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   122
8
b7e0285edfa8 Added msys' make, bash and coreutils with mingw binaries
Edouard Tisserant
parents: 6
diff changeset
   123
	# make, bash, and dependencies
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   124
	$(call get_msys,bash/bash-3.1.23-1,bash-3.1.23-1-msys-1.0.18-bin.tar.xz)
8
b7e0285edfa8 Added msys' make, bash and coreutils with mingw binaries
Edouard Tisserant
parents: 6
diff changeset
   125
	$(call get_msys,coreutils/coreutils-5.97-3,coreutils-5.97-3-msys-1.0.13-bin.tar.lzma)
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   126
	$(call get_msys,libiconv/libiconv-1.14-1,libiconv-1.14-1-msys-1.0.17-bin.tar.lzma)
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   127
	$(call get_msys,libiconv/libiconv-1.14-1,libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma)
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   128
	$(call get_msys,gettext/gettext-0.18.1.1-1,libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma)
8
b7e0285edfa8 Added msys' make, bash and coreutils with mingw binaries
Edouard Tisserant
parents: 6
diff changeset
   129
	$(call get_msys,regex/regex-1.20090805-2,libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma)
b7e0285edfa8 Added msys' make, bash and coreutils with mingw binaries
Edouard Tisserant
parents: 6
diff changeset
   130
	$(call get_msys,termcap/termcap-0.20050421_1-2,libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma)
b7e0285edfa8 Added msys' make, bash and coreutils with mingw binaries
Edouard Tisserant
parents: 6
diff changeset
   131
	$(call get_msys,make/make-3.81-3,make-3.81-3-msys-1.0.13-bin.tar.lzma) 
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 21
diff changeset
   132
	$(call get_msys,msys-core/msys-1.0.19-1,msysCORE-1.0.19-1-msys-1.0.19-bin.tar.xz)
8
b7e0285edfa8 Added msys' make, bash and coreutils with mingw binaries
Edouard Tisserant
parents: 6
diff changeset
   133
	$(call get_msys,termcap/termcap-0.20050421_1-2,libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma)
b7e0285edfa8 Added msys' make, bash and coreutils with mingw binaries
Edouard Tisserant
parents: 6
diff changeset
   134
	touch $@
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   135
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   136
msiexec = WINEPREFIX=$(tmp) msiexec
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   137
wine = WINEPREFIX=$(tmp) wine
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   138
pydir = build/python
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   139
pysite = $(pydir)/Lib/site-packages
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   140
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   141
OSSLVER=openssl-1.0.1p
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   142
M2CRVER=M2Crypto-0.22.6rc2
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   143
MINGPFX=i686-w64-mingw32-
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   144
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   145
python: |build
5
6dec159540ee fixed absolute path in md5 files
Edouard Tisserant
parents: 4
diff changeset
   146
	rm -rf $(pydir)
2
2d6e92fb19e9 Gave up with legacy dll collection mechanism, and fixed missing VC9 redistributable for winXP SP2
Edouard Tisserant
parents: 1
diff changeset
   147
	mkdir -p $(pydir)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   148
	
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   149
	# Python
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   150
	$(call get_src_http,http://www.python.org/ftp/python/2.7.3,python-2.7.3.msi)\
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   151
	$(msiexec) /qn /a $$dld TARGETDIR=.\\$(pydir)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   152
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   153
	# WxPython 2.8 (needs running inno unpacker in wine)
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   154
	$(call get_src_sf,innounp/innounp/innounp%200.36,innounp036.rar)\
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   155
	unrar e $$dld innounp.exe $(tmp)
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   156
	$(call get_src_sf,wxpython/wxPython/2.8.12.1,wxPython2.8-win32-unicode-2.8.12.1-py27.exe)\
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   157
	$(wine) $(tmp)/innounp.exe -d$(tmp) -x $$dld
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   158
	cp -R $(tmp)/\{code_GetPythonDir\}/* $(pydir)
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   159
	cp -R $(tmp)/\{app\}/* $(pysite)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   160
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   161
	# WxPython 3.0 (needs running inno unpacker in wine)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   162
	$(call get_src_sf,wxpython/wxPython/3.0.2.0,wxPython3.0-win32-3.0.2.0-py27.exe)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   163
	$(wine) $(tmp)/innounp.exe -d$(tmp) -x $$dld
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   164
	cp -R $(tmp)/\{code_GetPythonDir\}/* $(pydir)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   165
	cp -R $(tmp)/\{app\}/* $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   166
	
2
2d6e92fb19e9 Gave up with legacy dll collection mechanism, and fixed missing VC9 redistributable for winXP SP2
Edouard Tisserant
parents: 1
diff changeset
   167
	# wxPython fails if VC9.0 bullshit is not fully here.
2d6e92fb19e9 Gave up with legacy dll collection mechanism, and fixed missing VC9 redistributable for winXP SP2
Edouard Tisserant
parents: 1
diff changeset
   168
	$(call get_src_http,http://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140,vcredist_x86.exe)\
2d6e92fb19e9 Gave up with legacy dll collection mechanism, and fixed missing VC9 redistributable for winXP SP2
Edouard Tisserant
parents: 1
diff changeset
   169
	cp $$dld $(tmp)
2d6e92fb19e9 Gave up with legacy dll collection mechanism, and fixed missing VC9 redistributable for winXP SP2
Edouard Tisserant
parents: 1
diff changeset
   170
	$(wine) $(tmp)/vcredist_x86.exe /qn /a
2d6e92fb19e9 Gave up with legacy dll collection mechanism, and fixed missing VC9 redistributable for winXP SP2
Edouard Tisserant
parents: 1
diff changeset
   171
	cp $(tmp)/drive_c/windows/winsxs/x86_Microsoft.VC90.CRT*/* $(pydir)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   172
	
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   173
	# MathPlotLib
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   174
	$(call get_src_http,https://github.com/downloads/matplotlib/matplotlib,matplotlib-1.2.0.win32-py2.7.exe)\
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   175
	unzip -d $(tmp)/mathplotlib $$dld ; [ $$? -eq 1 ] #silence error unziping .exe
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   176
	cp -R $(tmp)/mathplotlib/PLATLIB/* $(pysite)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   177
	
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   178
	# pywin32
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   179
	$(call get_src_sf,pywin32/pywin32/Build216,pywin32-216.win32-py2.7.exe)\
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   180
	unzip -d $(tmp)/pw32 $$dld ; [ $$? -eq 1 ] #silence error unziping .exe
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   181
	cp -R $(tmp)/pw32/PLATLIB/* $(pysite)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   182
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   183
	# zope.interface (twisted prereq)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   184
	$(call get_src_pypi,2.7/z/zope.interface,zope.interface-4.3.2-py2.7-win32.egg)\
14
8d49ccbdb035 clean up trailing whitespaces and wrong indention
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 13
diff changeset
   185
	unzip -d $(tmp) $$dld
3
2ee55ffac580 Added zope.interface to installer so that twisted framework loads (needed by svgui)
Edouard Tisserant
parents: 2
diff changeset
   186
	cp -R $(tmp)/zope $(pysite)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   187
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   188
	# six (pyopenssl prereq)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   189
	$(call get_src_pypi,py2.py3/s/six,six-1.11.0-py2.py3-none-any.whl)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   190
	unzip -d $(tmp) $$dld 
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   191
	cp -R $(tmp)/six.py $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   192
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   193
	# enum34 (cryptography prereq)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   194
	$(call get_src_pypi,source/e/enum34,enum34-1.1.6.tar.gz)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   195
	tar -C $(tmp) -xzf $$dld
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   196
	cp -R $(tmp)/enum34-1.1.6/enum $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   197
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   198
	# cryptography (pyopenssl prereq)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   199
	$(call get_src_pypi,cp27/c/cryptography,cryptography-1.0.2-cp27-none-win32.whl)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   200
	unzip -d $(tmp) $$dld 
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   201
	cp -R $(tmp)/cryptography $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   202
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   203
	# pyopenssl (twisted/ssl prereq)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   204
	$(call get_src_pypi,py2.py3/p/pyOpenSSL,pyOpenSSL-0.15.1-py2.py3-none-any.whl)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   205
	unzip -d $(tmp) $$dld 
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   206
	cp -R $(tmp)/OpenSSL $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   207
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   208
	# pyasn1 (service identity prereq)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   209
	$(call get_src_pypi,source/p/pyasn1,pyasn1-0.1.9.tar.gz)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   210
	tar -C $(tmp) -xzf $$dld
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   211
	cp -R $(tmp)/pyasn1-0.1.9/pyasn1 $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   212
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   213
	# pyasn1-modules (service identity prereq)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   214
	$(call get_src_pypi,source/p/pyasn1-modules,pyasn1-modules-0.0.8.tar.gz)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   215
	tar -C $(tmp) -xzf $$dld
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   216
	cp -R $(tmp)/pyasn1-modules-0.0.8/pyasn1_modules $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   217
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   218
	# characteristic (service identity prereq)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   219
	$(call get_src_pypi,source/c/characteristic,characteristic-14.3.0.tar.gz)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   220
	tar -C $(tmp) -xzf $$dld
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   221
	cp -R $(tmp)/characteristic-14.3.0/characteristic.py $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   222
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   223
	# service identity (twisted prereq)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   224
	$(call get_src_pypi,source/s/service_identity,service_identity-14.0.0.tar.gz)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   225
	tar -C $(tmp) -xzf $$dld
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   226
	cp -R $(tmp)/service_identity-14.0.0/service_identity $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   227
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   228
	# txaio (autobahn prereq)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   229
	$(call get_src_pypi,source/t/txaio,txaio-2.6.0.tar.gz)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   230
	tar -C $(tmp) -xzf $$dld
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   231
	cp -R $(tmp)/txaio-2.6.0/txaio $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   232
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   233
	# python-msgpack (autobahn prereq)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   234
	$(call get_src_pypi,cp27/m/msgpack-python,msgpack_python-0.4.8-cp27-cp27m-win32.whl)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   235
	unzip -d $(tmp) $$dld 
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   236
	cp -R $(tmp)/msgpack $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   237
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   238
	# u-msgpack-python (autobahn prereq)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   239
	$(call get_src_pypi,source/u/u-msgpack-python,u-msgpack-python-2.3.0.tar.gz)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   240
	tar -C $(tmp) -xzf $$dld
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   241
	cp -R $(tmp)/u-msgpack-python-2.3.0/umsgpack.py $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   242
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   243
	# cffi (cryptography prereq)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   244
	$(call get_src_pypi,cp27/c/cffi,cffi-1.2.1-cp27-none-win32.whl)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   245
	unzip -d $(tmp) $$dld 
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   246
	cp -R $(tmp)/cffi $(tmp)/_cffi_backend.pyd $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   247
	
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   248
	# Twisted
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   249
	$(call get_src_pypi,cp27/T/Twisted,Twisted-15.4.0-cp27-none-win32.whl)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   250
	unzip -d $(tmp) $$dld 
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   251
	cp -R $(tmp)/twisted $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   252
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   253
	# Autobahn
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   254
	$(call get_src_pypi,source/a/autobahn,autobahn-17.6.1.tar.gz)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   255
	tar -C $(tmp) -xzf $$dld
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   256
	for i in autobahn twisted; do cp -R $(tmp)/autobahn-17.6.1/$$i $(pysite); done
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   257
	
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   258
	# Nevow
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   259
	$(call get_src_pypi,source/N/Nevow,Nevow-0.10.0.tar.gz)\
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   260
	tar -C $(tmp) -xzf $$dld
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   261
	for i in nevow formless twisted; do cp -R $(tmp)/Nevow-0.10.0/$$i $(pysite); done
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   262
	
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   263
	# Numpy
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   264
	$(call get_src_pypi,2.7/n/numpy,numpy-1.6.1.win32-py2.7.exe)\
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   265
	unzip -d $(tmp)/np $$dld ; [ $$? -eq 1 ] #silence error unziping .exe
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   266
	cp -R $(tmp)/np/PLATLIB/* $(pysite)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   267
	
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   268
	# SimpleJson
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   269
	$(call get_src_pypi,source/s/simplejson,simplejson-2.2.1.tar.gz)\
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   270
	tar -C $(tmp) -xzf $$dld
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   271
	cp -R $(tmp)/simplejson-2.2.1/simplejson/ $(pysite)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   272
	
21
5c0a6affeafa switch zeroconf from pip instead of copy of old version in Beremiz tree
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 19
diff changeset
   273
	# Zeroconf
5c0a6affeafa switch zeroconf from pip instead of copy of old version in Beremiz tree
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 19
diff changeset
   274
	$(call get_src_pypi,6b/88/48dbe88b10098f98acef33218763c5630b0081c7fd0849ab4793b1e9b6d3,zeroconf-0.19.1-py2.py3-none-any.whl)\
5c0a6affeafa switch zeroconf from pip instead of copy of old version in Beremiz tree
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 19
diff changeset
   275
	unzip -d $(tmp)/zeroconf $$dld
5c0a6affeafa switch zeroconf from pip instead of copy of old version in Beremiz tree
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 19
diff changeset
   276
	cp -R $(tmp)/zeroconf/* $(pysite)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   277
	
21
5c0a6affeafa switch zeroconf from pip instead of copy of old version in Beremiz tree
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 19
diff changeset
   278
	# netifaces
5c0a6affeafa switch zeroconf from pip instead of copy of old version in Beremiz tree
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 19
diff changeset
   279
	$(call get_src_pypi,05/00/c719457bcb8f14f9a7b9244c3c5e203c40d041a364cf784cf554aaef8129,netifaces-0.10.6-py2.7-win32.egg)\
5c0a6affeafa switch zeroconf from pip instead of copy of old version in Beremiz tree
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 19
diff changeset
   280
	unzip -d $(tmp)/netifaces $$dld
5c0a6affeafa switch zeroconf from pip instead of copy of old version in Beremiz tree
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 19
diff changeset
   281
	cp -R $(tmp)/netifaces/* $(pysite)	
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   282
	
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   283
	# WxGlade
10
b4cadeffabe4 upgrade wxglade to version: 0.7.2 (2016-10-21)
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 6
diff changeset
   284
	$(call get_src_http,https://bitbucket.org/wxglade/wxglade/get,034d891cc947.zip)\
14
8d49ccbdb035 clean up trailing whitespaces and wrong indention
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 13
diff changeset
   285
	unzip -d $(tmp) $$dld
10
b4cadeffabe4 upgrade wxglade to version: 0.7.2 (2016-10-21)
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 6
diff changeset
   286
	mv $(tmp)/wxglade-wxglade-034d891cc947 $(pysite)/wxglade
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   287
	
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   288
	# Pyro
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   289
	$(call get_src_pypi,source/P/Pyro,Pyro-3.9.1.tar.gz)\
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   290
	tar -C $(tmp) -xzf $$dld
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   291
	mv $(tmp)/Pyro-3.9.1/Pyro $(pysite)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   292
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   293
	# Build Openssl
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   294
	$(call get_src_http,https://openssl.org/source,$(OSSLVER).tar.gz)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   295
	tar -C $(tmp) -xzf $$dld
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   296
	cd $(tmp)/$(OSSLVER); \
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   297
	CC=$(MINGPFX)gcc ./Configure mingw && \
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   298
	make all build-shared CROSS_COMPILE=$(MINGPFX) SHARED_LDFLAGS=-static-libgcc
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   299
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   300
	# Build M2crypto
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   301
	$(call get_src_pypi,source/M/M2Crypto,$(M2CRVER).tar.gz)\
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   302
	tar -C $(tmp) -xzf $$dld
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   303
	cd $(tmp)/$(M2CRVER); \
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   304
	patch -p1 < $(src)/M2Crypto-mingw-cross-compile-fix.patch && \
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   305
	PYTHONLIB=$(abspath $(pydir))/libs \
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   306
	PYTHONINC=$(abspath $(pydir))/include/ \
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   307
	MINGCCPREFIX=$(MINGPFX) \
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   308
	    python setup.py build build_ext \
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   309
	        --openssl=$(tmp)/$(OSSLVER) -cmingw32
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   310
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   311
	# Copy openssl dlls directly in M2Crypto package directory
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   312
	cp -a $(tmp)/$(OSSLVER)/*.dll $(tmp)/$(M2CRVER)/build/lib.win32-2.7/M2Crypto 
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   313
	
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   314
	# Move result into python site packages
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   315
	mv $(tmp)/$(M2CRVER)/build/lib.win32-2.7/M2Crypto $(pysite)
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   316
	
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   317
	# Lxml
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   318
	$(call get_src_pypi,2.7/l/lxml,lxml-3.2.3.win32-py2.7.exe)\
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   319
	unzip -d $(tmp)/lxml $$dld ; [ $$? -eq 1 ] #silence error unziping .exe
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   320
	cp -R $(tmp)/lxml/PLATLIB/* $(pysite)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   321
	
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   322
	touch $@
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   323
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   324
matiecdir = build/matiec
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   325
matiec: |build
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   326
	$(call get_src_hg,$(tmp)/matiec)
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   327
	cd $(tmp)/matiec ;\
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   328
	autoreconf;\
12
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
   329
	automake --add-missing;\
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
   330
	./configure --host=$(CROSS_COMPILE);\
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   331
	make -j$(CPUS);
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   332
	rm -rf $(matiecdir)
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   333
	mkdir -p $(matiecdir)
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   334
	mv $(tmp)/matiec/*.exe $(matiecdir)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   335
	
12
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
   336
	# install necessary shared libraries from local cross-compiler
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
   337
	$(call get_runtime_libs,$(matiecdir))
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   338
	
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   339
	mv $(tmp)/matiec/lib $(matiecdir)
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   340
	touch $@
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   341
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   342
examples: |build
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   343
	rm -rf  examples
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   344
	mkdir -p examples
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   345
14
8d49ccbdb035 clean up trailing whitespaces and wrong indention
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 13
diff changeset
   346
beremiz: | build examples
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   347
	$(call get_src_hg,build/beremiz)
29
503b0ef635cc Upgrade Makefile
Edouard Tisserant
parents: 28
diff changeset
   348
	$(call tweak_beremiz_source)
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   349
	rm -rf examples/canopen_tests
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   350
	mkdir -p examples/canopen_tests
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   351
	mv build/beremiz/tests/canopen_* examples/canopen_tests
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   352
	rm -rf examples/base_tests
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   353
	mkdir -p examples/base_tests
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   354
	mv build/beremiz/tests/* examples/base_tests
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   355
	touch $@
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   356
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   357
CFbuild = build/CanFestival-3
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   358
CFconfig = $(CFbuild)/objdictgen/canfestival_config.py
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   359
canfestival: mingw
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   360
	rm -rf $(CFbuild)
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   361
	$(call get_src_hg,$(CFbuild))
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   362
	cd $(CFbuild); \
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   363
	./configure --can=tcp_win32 \
12
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
   364
				--cc=$(CC) \
1cea304b3e88 use global CROSS_COMPILE prefix to define compilers for matiec and canfestival
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 11
diff changeset
   365
				--cxx=$(CXX) \
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   366
				--target=win32 \
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   367
				--wx=0
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   368
	$(MAKE) -C $(CFbuild)
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   369
	cd $(CFbuild); find . -name "*.o" -exec rm {} ';' #remove object files only
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   370
	touch $@
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   371
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   372
targets=python mingw matiec beremiz
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   373
Beremiz-$(version).exe: $(targets) $(src)/license.txt $(src)/install.nsi $(targets_ex)
0
7bc9d95b92bc initial commit, 1.03 installs on WinXP, python test builds and works
Edouard Tisserant
parents:
diff changeset
   374
	sed -e 's/\$$BVERSION/$(version)/g' $(src)/license.txt > build/license.txt
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   375
	sed -e 's/\$$BVERSION/$(version)/g' $(src)/install.nsi |\
14
8d49ccbdb035 clean up trailing whitespaces and wrong indention
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 13
diff changeset
   376
	sed -e 's/\$$BEXTENSIONS/$(extensions)/g' |\
8d49ccbdb035 clean up trailing whitespaces and wrong indention
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 13
diff changeset
   377
        makensis -
8d49ccbdb035 clean up trailing whitespaces and wrong indention
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 13
diff changeset
   378
6
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   379
clean_installer:
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   380
	rm -rf build Beremiz-$(version).exe $(targets) $(targets_ex)
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   381
862080d48ef2 Various updates and enhancement in installer build system, including support for specialized distributions, existing in other branches
Edouard Tisserant
parents: 5
diff changeset
   382