Mercurial > mxe-octave
annotate Makefile.in @ 6068:b916a190b939
maint: Merge release to default.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Wed, 26 Jan 2022 18:49:44 +0100 |
parents | 7c0066684448 |
children | 391cf6d0e7b3 |
rev | line source |
---|---|
2333
f653602a0500
Rebrand to new project name MXE
Volker Grabsch <vog@notjusthosting.com>
parents:
2330
diff
changeset
|
1 # This file is part of MXE. |
2353
99516e73b368
Move doc/index.html -> index.html
Volker Grabsch <vog@notjusthosting.com>
parents:
2350
diff
changeset
|
2 # See index.html for further information. |
123
9fedbab70063
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
122
diff
changeset
|
3 |
3721
933b99febcf1
Expand options to support 3 possible sources of octave
John Donoghue <john.donoghue@ieee.org>
parents:
3710
diff
changeset
|
4 OCTAVE_TARGET := @ENABLE_OCTAVE@octave |
3435
9fcc72373e24
build stable-octave package by default
John W. Eaton <jwe@octave.org>
parents:
3431
diff
changeset
|
5 |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
6 PWD := $(shell pwd) |
4066 | 7 TOP_BUILD_DIR := @abs_builddir@ |
8 TOP_DIR := @abs_srcdir@ | |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
9 |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3429
diff
changeset
|
10 STRIP_DIST_FILES := @STRIP_DIST_FILES@ |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3429
diff
changeset
|
11 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3429
diff
changeset
|
12 DATE := $(shell date +%Y-%m-%d-%H-%M) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3429
diff
changeset
|
13 |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
14 ## Configuration variables. |
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
15 |
2997 | 16 # Set the following configuration variables with a configure script? |
17 | |
3451
59ae7d6334c1
* Makefile.in: Validate MXE_SYSTEM value.
John W. Eaton <jwe@octave.org>
parents:
3448
diff
changeset
|
18 # Current valid values are mingw (cross or native), msvc (native) |
59ae7d6334c1
* Makefile.in: Validate MXE_SYSTEM value.
John W. Eaton <jwe@octave.org>
parents:
3448
diff
changeset
|
19 # and gnu-linux (native). |
3043
cbfe5d38ff2c
use configure script to generate Makefile
John W. Eaton <jwe@octave.org>
parents:
3042
diff
changeset
|
20 MXE_SYSTEM := @MXE_SYSTEM@ |
3451
59ae7d6334c1
* Makefile.in: Validate MXE_SYSTEM value.
John W. Eaton <jwe@octave.org>
parents:
3448
diff
changeset
|
21 ifeq ($(MXE_SYSTEM),mingw) |
59ae7d6334c1
* Makefile.in: Validate MXE_SYSTEM value.
John W. Eaton <jwe@octave.org>
parents:
3448
diff
changeset
|
22 else ifeq ($(MXE_SYSTEM),msvc) |
59ae7d6334c1
* Makefile.in: Validate MXE_SYSTEM value.
John W. Eaton <jwe@octave.org>
parents:
3448
diff
changeset
|
23 else ifeq ($(MXE_SYSTEM),gnu-linux) |
59ae7d6334c1
* Makefile.in: Validate MXE_SYSTEM value.
John W. Eaton <jwe@octave.org>
parents:
3448
diff
changeset
|
24 else |
59ae7d6334c1
* Makefile.in: Validate MXE_SYSTEM value.
John W. Eaton <jwe@octave.org>
parents:
3448
diff
changeset
|
25 $(error "$(MXE_SYSTEM)" is not a valid value for MXE_SYSTEM) |
59ae7d6334c1
* Makefile.in: Validate MXE_SYSTEM value.
John W. Eaton <jwe@octave.org>
parents:
3448
diff
changeset
|
26 endif |
2997 | 27 |
28 # Set to "no" if doing a cross compile build. | |
3043
cbfe5d38ff2c
use configure script to generate Makefile
John W. Eaton <jwe@octave.org>
parents:
3042
diff
changeset
|
29 MXE_NATIVE_BUILD := @MXE_NATIVE_BUILD@ |
2997 | 30 |
4194
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
31 # Set to "yes" to use ccache |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
32 USE_CCACHE := @USE_CCACHE@ |
4854
990b5e6b1970
use AC_PATH_PROG to check for ccache; use result in ccache-links Makefile rule
John W. Eaton <jwe@octave.org>
parents:
4822
diff
changeset
|
33 CCACHE := @CCACHE@ |
4194
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
34 |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
35 # Set to "yes" to use the versions of GCC and binutils already |
3208
1080856f48c4
new configure option: --enable-system-fontconfig
John W. Eaton <jwe@octave.org>
parents:
3198
diff
changeset
|
36 # installed on your system (default is yes if doing native build). |
3043
cbfe5d38ff2c
use configure script to generate Makefile
John W. Eaton <jwe@octave.org>
parents:
3042
diff
changeset
|
37 USE_SYSTEM_GCC := @USE_SYSTEM_GCC@ |
2997 | 38 |
3208
1080856f48c4
new configure option: --enable-system-fontconfig
John W. Eaton <jwe@octave.org>
parents:
3198
diff
changeset
|
39 # Set to "yes" to use the version of fontconfig already installed |
4488
8f9bee27223f
optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents:
4478
diff
changeset
|
40 # on your system (default is yes if doing native build). |
3208
1080856f48c4
new configure option: --enable-system-fontconfig
John W. Eaton <jwe@octave.org>
parents:
3198
diff
changeset
|
41 USE_SYSTEM_FONTCONFIG := @USE_SYSTEM_FONTCONFIG@ |
1080856f48c4
new configure option: --enable-system-fontconfig
John W. Eaton <jwe@octave.org>
parents:
3198
diff
changeset
|
42 |
4488
8f9bee27223f
optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents:
4478
diff
changeset
|
43 # Set to "yes" to use the OpenGL libraries already installed |
8f9bee27223f
optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents:
4478
diff
changeset
|
44 # on your system (default is yes). |
8f9bee27223f
optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents:
4478
diff
changeset
|
45 USE_SYSTEM_OPENGL := @USE_SYSTEM_OPENGL@ |
8f9bee27223f
optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents:
4478
diff
changeset
|
46 |
3827
02990526ae69
allow building of X11 libs to be disabled
John W. Eaton <jwe@octave.org>
parents:
3746
diff
changeset
|
47 # Set to "yes" to use the X11 libraries already installed |
4488
8f9bee27223f
optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents:
4478
diff
changeset
|
48 # on your system (default is yes if doing native build). |
3827
02990526ae69
allow building of X11 libs to be disabled
John W. Eaton <jwe@octave.org>
parents:
3746
diff
changeset
|
49 USE_SYSTEM_X11_LIBS := @USE_SYSTEM_X11_LIBS@ |
02990526ae69
allow building of X11 libs to be disabled
John W. Eaton <jwe@octave.org>
parents:
3746
diff
changeset
|
50 |
3710
1220a9158bc1
make building 64-bit Windows binaries independent from enabling 64-bit indexing in Octave
John W. Eaton <jwe@octave.org>
parents:
3709
diff
changeset
|
51 # Build compiler for 64-bit Windows. Using this option will build |
1220a9158bc1
make building 64-bit Windows binaries independent from enabling 64-bit indexing in Octave
John W. Eaton <jwe@octave.org>
parents:
3709
diff
changeset
|
52 # binaries that require a 64-bit Windows system. |
1220a9158bc1
make building 64-bit Windows binaries independent from enabling 64-bit indexing in Octave
John W. Eaton <jwe@octave.org>
parents:
3709
diff
changeset
|
53 ENABLE_WINDOWS_64 := @ENABLE_WINDOWS_64@ |
1220a9158bc1
make building 64-bit Windows binaries independent from enabling 64-bit indexing in Octave
John W. Eaton <jwe@octave.org>
parents:
3709
diff
changeset
|
54 |
4304
0db33a326eec
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
4303
diff
changeset
|
55 # Build Octave with 64-bit indexing enabled (This is the default). |
3476
f38cc7e463d5
Makefile.in: Set ENABLE_64 before TARGET. Set TARGET appropriately
John W. Eaton <jwe@octave.org>
parents:
3471
diff
changeset
|
56 ENABLE_64 := @ENABLE_64@ |
f38cc7e463d5
Makefile.in: Set ENABLE_64 before TARGET. Set TARGET appropriately
John W. Eaton <jwe@octave.org>
parents:
3471
diff
changeset
|
57 |
4304
0db33a326eec
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
4303
diff
changeset
|
58 # Build Fortran (and other) numerical library dependencies with |
0db33a326eec
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
4303
diff
changeset
|
59 # 64-bit indexing enabled (experimental; requires 64-bit system and |
0db33a326eec
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
4303
diff
changeset
|
60 # compiler). The usual configuration is to build with ENABLE_64 but |
0db33a326eec
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
4303
diff
changeset
|
61 # not ENABLE_FORTRAN_INT64. |
0db33a326eec
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
4303
diff
changeset
|
62 ENABLE_FORTRAN_INT64 := @ENABLE_FORTRAN_INT64@ |
0db33a326eec
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
4303
diff
changeset
|
63 |
3853
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
64 # create binary octave forge tools. |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
65 # if cross, compiling, this also means we will attempt to create cross mkoctfile |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
66 ENABLE_BINARY_PACKAGES := @ENABLE_BINARY_PACKAGES@ |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
67 |
5531
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5495
diff
changeset
|
68 # Set to "no" to build a minimal Octave that runs on the build system. |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5495
diff
changeset
|
69 # That version can be used for cross-building binary packages that depend |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5495
diff
changeset
|
70 # on Octave as a build tool. If "yes", it is tried to use an Octave that |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5495
diff
changeset
|
71 # is already installed on the build system (default is "yes"). |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5495
diff
changeset
|
72 USE_SYSTEM_OCTAVE := @USE_SYSTEM_OCTAVE@ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5495
diff
changeset
|
73 |
3958
ac3abcea55e8
Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3957
diff
changeset
|
74 # create and install devel tools (default no) |
ac3abcea55e8
Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3957
diff
changeset
|
75 ENABLE_DEVEL_TOOLS := @ENABLE_DEVEL_TOOLS@ |
ac3abcea55e8
Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3957
diff
changeset
|
76 |
4222
44b1a9b2193e
qt5: add initial qt5 to mxe-octave, based on mxe.cc
John D
parents:
4206
diff
changeset
|
77 # use qt5 instead of qt4 |
44b1a9b2193e
qt5: add initial qt5 to mxe-octave, based on mxe.cc
John D
parents:
4206
diff
changeset
|
78 ENABLE_QT5 := @ENABLE_QT5@ |
44b1a9b2193e
qt5: add initial qt5 to mxe-octave, based on mxe.cc
John D
parents:
4206
diff
changeset
|
79 |
4793
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
80 # Set to "yes" to use msys2 |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
81 USE_MSYS2 := @USE_MSYS2@ |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
82 |
5961
7c0066684448
Add support for building with UCRT on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5901
diff
changeset
|
83 # Set to "ucrt" or "msvcrt" |
7c0066684448
Add support for building with UCRT on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5901
diff
changeset
|
84 HOST_MSVCRT := @HOST_MSVCRT@ |
7c0066684448
Add support for building with UCRT on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5901
diff
changeset
|
85 |
2997 | 86 # Should match what config.guess prints for your system. |
4194
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
87 # If cross compiling, you must set it manually (defaults are set by configure). |
3005
c154d525c70e
use config.guess to set TARGET for native builds
John W. Eaton <jwe@octave.org>
parents:
3003
diff
changeset
|
88 ifeq ($(MXE_NATIVE_BUILD),yes) |
4066 | 89 TARGET := $(shell $(TOP_DIR)/tools/config.guess) |
3005
c154d525c70e
use config.guess to set TARGET for native builds
John W. Eaton <jwe@octave.org>
parents:
3003
diff
changeset
|
90 else |
4194
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
91 TARGET := @MXE_TARGET@ |
3005
c154d525c70e
use config.guess to set TARGET for native builds
John W. Eaton <jwe@octave.org>
parents:
3003
diff
changeset
|
92 endif |
4066 | 93 BUILD_SYSTEM := $(shell $(TOP_DIR)/tools/config.guess) |
2997 | 94 |
3048
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
95 # Enable shared or static libs, or perhaps both. Probably it doesn't |
2855
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
96 # make sense to disable both... |
3043
cbfe5d38ff2c
use configure script to generate Makefile
John W. Eaton <jwe@octave.org>
parents:
3042
diff
changeset
|
97 BUILD_SHARED := @BUILD_SHARED@ |
3048
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
98 BUILD_STATIC := @BUILD_STATIC@ |
3043
cbfe5d38ff2c
use configure script to generate Makefile
John W. Eaton <jwe@octave.org>
parents:
3042
diff
changeset
|
99 |
3049
b374f89bc920
fix USE_PIC_FLAG substitution in Makefile.in
John W. Eaton <jwe@octave.org>
parents:
3048
diff
changeset
|
100 USE_PIC_FLAG := @USE_PIC_FLAG@ |
2997 | 101 |
3887
768c5d4c5b4e
new configure option: --enable-qhull-no-strict-aliasing-flag
John W. Eaton <jwe@octave.org>
parents:
3863
diff
changeset
|
102 # Compile Qhull with -fno-strict-aliasing flag. |
768c5d4c5b4e
new configure option: --enable-qhull-no-strict-aliasing-flag
John W. Eaton <jwe@octave.org>
parents:
3863
diff
changeset
|
103 ENABLE_QHULL_NO_STRICT_ALIASING_FLAG := @ENABLE_QHULL_NO_STRICT_ALIASING_FLAG@ |
768c5d4c5b4e
new configure option: --enable-qhull-no-strict-aliasing-flag
John W. Eaton <jwe@octave.org>
parents:
3863
diff
changeset
|
104 |
3333
4372645ff7e3
Add --disable-java option to configure.
Rik <rik@octave.org>
parents:
3325
diff
changeset
|
105 # Attempt to build with support for Java. |
4372645ff7e3
Add --disable-java option to configure.
Rik <rik@octave.org>
parents:
3325
diff
changeset
|
106 ENABLE_JAVA := @ENABLE_JAVA@ |
4372645ff7e3
Add --disable-java option to configure.
Rik <rik@octave.org>
parents:
3325
diff
changeset
|
107 |
3043
cbfe5d38ff2c
use configure script to generate Makefile
John W. Eaton <jwe@octave.org>
parents:
3042
diff
changeset
|
108 # Attempt to build LLVM and enable Octave's experimental JIT compiler. |
cbfe5d38ff2c
use configure script to generate Makefile
John W. Eaton <jwe@octave.org>
parents:
3042
diff
changeset
|
109 ENABLE_JIT := @ENABLE_JIT@ |
3015
ec6f91539788
initial support for --enable-64
John W. Eaton <jwe@octave.org>
parents:
3014
diff
changeset
|
110 |
3367
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3345
diff
changeset
|
111 # Build octave docs |
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3345
diff
changeset
|
112 ENABLE_DOCS := @ENABLE_DOCS@ |
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3345
diff
changeset
|
113 |
3068
fb0836e4a677
Add --enable-openblas option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3063
diff
changeset
|
114 # Use openblas for octave |
fb0836e4a677
Add --enable-openblas option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3063
diff
changeset
|
115 ENABLE_OPENBLAS := @ENABLE_OPENBLAS@ |
fb0836e4a677
Add --enable-openblas option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3063
diff
changeset
|
116 |
4301 | 117 # Install dependancy pkg docs |
118 ENABLE_DEP_DOCS := @ENABLE_DEP_DOCS@ | |
119 | |
3226
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
120 # Look in lib64 directory. |
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
121 MXE_USE_LIB64_DIRECTORY := @ENABLE_LIB64_DIRECTORY@ |
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
122 |
3325
64f9dbe1d7e7
* Makefile.in: Add KEEP_BUILD variable to keep tmp dirs after build.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3311
diff
changeset
|
123 # Do not remove the temporary build directories. Set to 1 to keep them |
64f9dbe1d7e7
* Makefile.in: Add KEEP_BUILD variable to keep tmp dirs after build.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3311
diff
changeset
|
124 # around after the build step. |
64f9dbe1d7e7
* Makefile.in: Add KEEP_BUILD variable to keep tmp dirs after build.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3311
diff
changeset
|
125 KEEP_BUILD := |
64f9dbe1d7e7
* Makefile.in: Add KEEP_BUILD variable to keep tmp dirs after build.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3311
diff
changeset
|
126 |
2997 | 127 ## end of configuration variables. |
128 | |
3013
bcc26ffe9a0f
use variable for --host and --build configure arguments
John W. Eaton <jwe@octave.org>
parents:
3012
diff
changeset
|
129 ifneq ($(MXE_NATIVE_BUILD),yes) |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
130 ifeq ($(MXE_SYSTEM),msvc) |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
131 $(error Cross-compiling to MSVC is not supported) |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
132 endif |
3013
bcc26ffe9a0f
use variable for --host and --build configure arguments
John W. Eaton <jwe@octave.org>
parents:
3012
diff
changeset
|
133 HOST_AND_BUILD_CONFIGURE_OPTIONS := \ |
bcc26ffe9a0f
use variable for --host and --build configure arguments
John W. Eaton <jwe@octave.org>
parents:
3012
diff
changeset
|
134 --host='$(TARGET)' --build='$(BUILD_SYSTEM)' |
bcc26ffe9a0f
use variable for --host and --build configure arguments
John W. Eaton <jwe@octave.org>
parents:
3012
diff
changeset
|
135 endif |
bcc26ffe9a0f
use variable for --host and --build configure arguments
John W. Eaton <jwe@octave.org>
parents:
3012
diff
changeset
|
136 |
3018
051574ceb3fc
Update Makefile for native mingw compiling so pkg-config knows where its pc files should be.
John Donoghue <john.donoghue@ieee.org>
parents:
3015
diff
changeset
|
137 # are we doing a native mingw build ? |
051574ceb3fc
Update Makefile for native mingw compiling so pkg-config knows where its pc files should be.
John Donoghue <john.donoghue@ieee.org>
parents:
3015
diff
changeset
|
138 ifeq ($(MXE_NATIVE_BUILD),yes) |
051574ceb3fc
Update Makefile for native mingw compiling so pkg-config knows where its pc files should be.
John Donoghue <john.donoghue@ieee.org>
parents:
3015
diff
changeset
|
139 ifeq ($(MXE_SYSTEM),mingw) |
051574ceb3fc
Update Makefile for native mingw compiling so pkg-config knows where its pc files should be.
John Donoghue <john.donoghue@ieee.org>
parents:
3015
diff
changeset
|
140 MXE_NATIVE_MINGW_BUILD := yes |
051574ceb3fc
Update Makefile for native mingw compiling so pkg-config knows where its pc files should be.
John Donoghue <john.donoghue@ieee.org>
parents:
3015
diff
changeset
|
141 endif |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
142 ifeq ($(MXE_SYSTEM),msvc) |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
143 MXE_NATIVE_MINGW_BUILD := yes |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
144 endif |
3018
051574ceb3fc
Update Makefile for native mingw compiling so pkg-config knows where its pc files should be.
John Donoghue <john.donoghue@ieee.org>
parents:
3015
diff
changeset
|
145 endif |
051574ceb3fc
Update Makefile for native mingw compiling so pkg-config knows where its pc files should be.
John Donoghue <john.donoghue@ieee.org>
parents:
3015
diff
changeset
|
146 |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
147 # These can't be chosen arbitrarily. The way things are configured now, |
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
148 # GCC expects to find cross-compiler include files in $(PREFIX)/$(TARGET). |
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
149 # and it's not clear to me how to change that. |
3209
360f71254066
for native builds, put build tools and installed packages in same diretory tree
John W. Eaton <jwe@octave.org>
parents:
3208
diff
changeset
|
150 # |
360f71254066
for native builds, put build tools and installed packages in same diretory tree
John W. Eaton <jwe@octave.org>
parents:
3208
diff
changeset
|
151 # For native builds, dump everything all together in one directory tree. |
4066 | 152 ROOT_PREFIX := $(TOP_BUILD_DIR)/usr |
3292
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
153 BUILD_TOOLS_PREFIX := $(ROOT_PREFIX) |
3209
360f71254066
for native builds, put build tools and installed packages in same diretory tree
John W. Eaton <jwe@octave.org>
parents:
3208
diff
changeset
|
154 ifeq ($(MXE_NATIVE_BUILD),yes) |
3292
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
155 HOST_PREFIX := $(ROOT_PREFIX) |
3209
360f71254066
for native builds, put build tools and installed packages in same diretory tree
John W. Eaton <jwe@octave.org>
parents:
3208
diff
changeset
|
156 else |
3292
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
157 HOST_PREFIX := $(ROOT_PREFIX)/$(TARGET) |
3209
360f71254066
for native builds, put build tools and installed packages in same diretory tree
John W. Eaton <jwe@octave.org>
parents:
3208
diff
changeset
|
158 endif |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
159 |
3292
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
160 # Make sure the root installation directories exists |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
161 $(shell mkdir -p $(ROOT_PREFIX)) |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
162 $(shell mkdir -p $(BUILD_TOOLS_PREFIX)) |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
163 $(shell mkdir -p $(HOST_PREFIX)) |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
164 |
4590
5b5c47cd2111
Add file with hg id of MXE-Octave to dist package (bug #52794).
Markus Mützel <markus.muetzel@gmx.de>
parents:
4545
diff
changeset
|
165 ## The mk-hg-id.sh script will be executed each time Make runs. It will |
5b5c47cd2111
Add file with hg id of MXE-Octave to dist package (bug #52794).
Markus Mützel <markus.muetzel@gmx.de>
parents:
4545
diff
changeset
|
166 ## update the HG-ID file in the build tree. |
5b5c47cd2111
Add file with hg id of MXE-Octave to dist package (bug #52794).
Markus Mützel <markus.muetzel@gmx.de>
parents:
4545
diff
changeset
|
167 $(shell $(TOP_DIR)/tools/mk-hg-id.sh "$(TOP_DIR)") |
5b5c47cd2111
Add file with hg id of MXE-Octave to dist package (bug #52794).
Markus Mützel <markus.muetzel@gmx.de>
parents:
4545
diff
changeset
|
168 |
5571
b19fb3ed330c
use cmake command line to set build shared/static options (bug #59373)
John W. Eaton <jwe@octave.org>
parents:
5570
diff
changeset
|
169 ## At least one package uses --with instead of --enable. |
b19fb3ed330c
use cmake command line to set build shared/static options (bug #59373)
John W. Eaton <jwe@octave.org>
parents:
5570
diff
changeset
|
170 ## Some cmake packages use BUILD_STATIC_LIBS and at least |
b19fb3ed330c
use cmake command line to set build shared/static options (bug #59373)
John W. Eaton <jwe@octave.org>
parents:
5570
diff
changeset
|
171 ## one uses ONLY_SHARED_LIBS |
2855
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
172 ifeq ($(BUILD_SHARED),yes) |
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
173 ifeq ($(BUILD_STATIC),yes) |
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
174 ENABLE_SHARED_OR_STATIC := --enable-shared --enable-static |
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
175 WITH_SHARED_OR_STATIC := --with-shared --with-static |
5571
b19fb3ed330c
use cmake command line to set build shared/static options (bug #59373)
John W. Eaton <jwe@octave.org>
parents:
5570
diff
changeset
|
176 CMAKE_BUILD_SHARED_OR_STATIC := -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DONLY_SHARED_LIBS=OFF |
2855
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
177 else |
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
178 ENABLE_SHARED_OR_STATIC := --enable-shared --disable-static |
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
179 WITH_SHARED_OR_STATIC := --with-shared --without-static |
5571
b19fb3ed330c
use cmake command line to set build shared/static options (bug #59373)
John W. Eaton <jwe@octave.org>
parents:
5570
diff
changeset
|
180 CMAKE_BUILD_SHARED_OR_STATIC := -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF -DONLY_SHARED_LIBS=ON |
2855
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
181 endif |
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
182 else |
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
183 ENABLE_SHARED_OR_STATIC := --disable-shared --enable-static |
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
184 WITH_SHARED_OR_STATIC := --without-shared --with-static |
5571
b19fb3ed330c
use cmake command line to set build shared/static options (bug #59373)
John W. Eaton <jwe@octave.org>
parents:
5570
diff
changeset
|
185 CMAKE_BUILD_SHARED_OR_STATIC := -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON -DONLY_SHARED_LIBS=OFF |
2855
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
186 endif |
47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
John W. Eaton <jwe@octave.org>
parents:
2778
diff
changeset
|
187 |
4302 | 188 ifeq ($(ENABLE_DEP_DOCS),no) |
189 MXE_DISABLE_DOCS := \ | |
190 man_MANS= \ | |
4308 | 191 dist_man_MANS= \ |
4302 | 192 man1_MANS= \ |
4308 | 193 dist_man1_MANS= \ |
4302 | 194 man2_MANS= \ |
195 man3_MANS= \ | |
4308 | 196 dist_man3_MANS= \ |
4302 | 197 man4_MANS= \ |
198 man5_MANS= \ | |
4308 | 199 dist_man5_MANS= \ |
4302 | 200 doc_DATA= \ |
201 dist_doc_DATA= \ | |
202 html_DATA= \ | |
203 dist_html_DATA= \ | |
4303 | 204 pkghtml_DATA= \ |
4302 | 205 examples_DATA= \ |
206 dist_examples_SCRIPTS= \ | |
4951 | 207 dist_apidoc_DATA= \ |
4302 | 208 INFO_DEPS= |
209 else | |
210 MXE_DISABLE_DOCS := | |
211 endif | |
212 | |
213 MXE_DISABLE_PROGS := bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= | |
214 | |
2997 | 215 ifeq ($(USE_PIC_FLAG),yes) |
216 MXE_CC_PICFLAG := -fPIC | |
217 MXE_CXX_PICFLAG := -fPIC | |
218 MXE_F77_PICFLAG := -fPIC | |
219 endif | |
220 | |
206
c82301af7b7f
disable parallel builds by default and document in the README how to enable parallelization
Volker Grabsch <vog@notjusthosting.com>
parents:
197
diff
changeset
|
221 JOBS := 1 |
4758
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
222 SOURCEFORGE_MIRROR := downloads.sourceforge.net |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
223 MXE_MIRROR := https://mirror.mxe.cc/pkg |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
224 MXE_OCTAVE_MIRROR := https://octave.org/mxe-pkg-src |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
225 PKG_MIRROR := https://s3.amazonaws.com/mxe-pkg |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
226 PKG_CDN := http://d1yihgixbnrglp.cloudfront.net |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
227 GITLAB_BACKUP := https://gitlab.com/starius/mxe-backup2/raw/master |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
228 # reorder as required, ensuring final one is a http fallback |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
229 MIRROR_SITES := GITLAB_BACKUP MXE_MIRROR PKG_MIRROR PKG_CDN MXE_OCTAVE_MIRROR |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
230 |
3044 | 231 SHELL := @SHELL@ |
2380
f89dd4c9e49f
Portability fix: Define $(PWD) before $(SHELL)
Volker Grabsch <vog@notjusthosting.com>
parents:
2379
diff
changeset
|
232 |
4698 | 233 GREP ?= grep |
2369
4f5f4af84b12
Improve order of entries in main Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
2368
diff
changeset
|
234 INSTALL := $(shell ginstall --help >/dev/null 2>&1 && echo g)install |
4f5f4af84b12
Improve order of entries in main Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
2368
diff
changeset
|
235 PATCH := $(shell gpatch --help >/dev/null 2>&1 && echo g)patch |
4f5f4af84b12
Improve order of entries in main Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
2368
diff
changeset
|
236 SED := $(shell gsed --help >/dev/null 2>&1 && echo g)sed |
3708
d95b8b84cea7
enable additional $(PKG)_UPDATE targets.
John W. Eaton <jwe@octave.org>
parents:
3663
diff
changeset
|
237 SORT := $(shell gsort --help >/dev/null 2>&1 && echo g)sort |
4541
23a905c6f5d3
adapt to wget's new --compression option
John W. Eaton <jwe@octave.org>
parents:
4533
diff
changeset
|
238 ## The --compression option for wget is new in 1.19.2 and now without |
23a905c6f5d3
adapt to wget's new --compression option
John W. Eaton <jwe@octave.org>
parents:
4533
diff
changeset
|
239 ## using --compression=none, wget seems to uncompress .gz archives |
23a905c6f5d3
adapt to wget's new --compression option
John W. Eaton <jwe@octave.org>
parents:
4533
diff
changeset
|
240 ## automatically?!? |
4758
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
241 WGET_TOOL = wget |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
242 WGET_COMP := $(shell $(WGET_TOOL) --compression=none --help >/dev/null 2>&1 && echo x--compression=none | $(SED) 's/x//') |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
243 DEFAULT_UA := $(shell $(WGET_TOOL) --version | $(SED) -n 's,GNU \(Wget\) \([0-9.]*\).*,\1/\2,p') |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
244 WGET = $(WGET_TOOL) $(WGET_COMP) --no-check-certificate \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
245 --user-agent='$(or $($(1)_UA),$(DEFAULT_UA))' |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
246 |
3170
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
247 # The MSYS GNU tar does not support long uid/gid, leading to unpacking |
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
248 # errors for some archives. Bsdtar does not have that limitation, so |
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
249 # use it on Win32 platform if GNU tar fails to unpack the archive. |
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
250 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) |
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
251 TAR := tar |
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
252 TAR2 := bsdtar |
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
253 else |
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
254 TAR := tar |
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
255 endif |
2369
4f5f4af84b12
Improve order of entries in main Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
2368
diff
changeset
|
256 |
4306
689cce14e824
* Makefile.in (REQUIREMENTS): Remove openssl from list.
John W. Eaton <jwe@octave.org>
parents:
4304
diff
changeset
|
257 REQUIREMENTS := bash bzip2 $(MAKE) $(PATCH) $(PERL) \ |
3185
5355c07c92b7
build our own copy of xz utility
John W. Eaton <jwe@octave.org>
parents:
3170
diff
changeset
|
258 $(SED) tar unzip wget |
2369
4f5f4af84b12
Improve order of entries in main Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
2368
diff
changeset
|
259 |
3046
f23cc822f52d
Makefile.in updates for native mingw qrupdate untar
John Donoghue <john.donoghue@ieee.org>
parents:
3045
diff
changeset
|
260 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) |
3170
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
261 REQUIREMENTS += bsdtar |
3046
f23cc822f52d
Makefile.in updates for native mingw qrupdate untar
John Donoghue <john.donoghue@ieee.org>
parents:
3045
diff
changeset
|
262 endif |
f23cc822f52d
Makefile.in updates for native mingw qrupdate untar
John Donoghue <john.donoghue@ieee.org>
parents:
3045
diff
changeset
|
263 |
2971
7145a94e4f4e
build autoconf, automake, libtool, and cmake instead of expecting them to exist
John W. Eaton <jwe@octave.org>
parents:
2964
diff
changeset
|
264 LIBTOOL := libtool |
7145a94e4f4e
build autoconf, automake, libtool, and cmake instead of expecting them to exist
John W. Eaton <jwe@octave.org>
parents:
2964
diff
changeset
|
265 LIBTOOLIZE := libtoolize |
3048
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
266 |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
267 ## Build tools are tools that we need to build everything else. |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
268 ## They run on the build system. Some, like gcc and binutils may |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
269 ## generate output that runs on the host system (TARGET in MXE terms). |
3481
b90ee860006f
use class="package" instead of id="PKG_NAME-package" in index.html to
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
270 ALL_BUILD_TOOLS := $(shell $(SED) -n 's/^.* class="package">\(build-[^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html') |
b90ee860006f
use class="package" instead of id="PKG_NAME-package" in index.html to
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
271 |
3048
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
272 BUILD_COMPILER_TOOLS := build-gcc build-binutils |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
273 BUILD_TOOLS := $(ALL_BUILD_TOOLS) |
5540
13628d1d41e2
Make more build tools optional.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5531
diff
changeset
|
274 # some build tools are optional and added as explicit dependencies |
13628d1d41e2
Make more build tools optional.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5531
diff
changeset
|
275 # to packages that need them |
13628d1d41e2
Make more build tools optional.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5531
diff
changeset
|
276 BUILD_TOOLS_OPT := \ |
5830
5cb9ea0261ba
Add build-libtool to dependencies of build-libffi (bug #61024).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5820
diff
changeset
|
277 build-libffi build-mako build-markupsafe build-meson build-ninja \ |
5901
f062bdb4f0a3
Rename build-python3 to build-python.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5900
diff
changeset
|
278 build-python build-octave build-setuptools build-scons |
5540
13628d1d41e2
Make more build tools optional.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5531
diff
changeset
|
279 BUILD_TOOLS := $(filter-out $(BUILD_TOOLS_OPT), $(BUILD_TOOLS)) |
3029
2849bea3711f
disable building flex for native mingw
John W. Eaton <jwe@octave.org>
parents:
3018
diff
changeset
|
280 # Building flex for native mingw fails, so disable it. |
2849bea3711f
disable building flex for native mingw
John W. Eaton <jwe@octave.org>
parents:
3018
diff
changeset
|
281 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
282 REQUIREMENTS += flex |
3029
2849bea3711f
disable building flex for native mingw
John W. Eaton <jwe@octave.org>
parents:
3018
diff
changeset
|
283 BUILD_TOOLS := $(filter-out build-flex, $(BUILD_TOOLS)) |
2849bea3711f
disable building flex for native mingw
John W. Eaton <jwe@octave.org>
parents:
3018
diff
changeset
|
284 endif |
3256
7fb479d0241c
Update build tools for native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3230
diff
changeset
|
285 # Building bison for native mingw creates a bison that doesnt |
7fb479d0241c
Update build tools for native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3230
diff
changeset
|
286 # allow push-pull mode so disable |
7fb479d0241c
Update build tools for native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3230
diff
changeset
|
287 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) |
7fb479d0241c
Update build tools for native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3230
diff
changeset
|
288 REQUIREMENTS += bison |
7fb479d0241c
Update build tools for native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3230
diff
changeset
|
289 BUILD_TOOLS := $(filter-out build-bison, $(BUILD_TOOLS)) |
7fb479d0241c
Update build tools for native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3230
diff
changeset
|
290 endif |
7fb479d0241c
Update build tools for native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3230
diff
changeset
|
291 # use the msys m4 in native mingw |
7fb479d0241c
Update build tools for native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3230
diff
changeset
|
292 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) |
7fb479d0241c
Update build tools for native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3230
diff
changeset
|
293 REQUIREMENTS += m4 |
3286
29e227f8bef6
Don't depend on build-m4/build-xz for MSVC and native-MinGW.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3260
diff
changeset
|
294 BUILD_TOOLS := $(filter-out build-m4, $(BUILD_TOOLS)) |
29e227f8bef6
Don't depend on build-m4/build-xz for MSVC and native-MinGW.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3260
diff
changeset
|
295 endif |
3311
6a38c7bb94ef
[MSVC] * Makefile.in: Don't use build-texinfo for the time being.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3292
diff
changeset
|
296 # Use texinfo and xz from msys under MSVC. |
3286
29e227f8bef6
Don't depend on build-m4/build-xz for MSVC and native-MinGW.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3260
diff
changeset
|
297 ifeq ($(MXE_SYSTEM),msvc) |
3311
6a38c7bb94ef
[MSVC] * Makefile.in: Don't use build-texinfo for the time being.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3292
diff
changeset
|
298 REQUIREMENTS += makeinfo xz |
6a38c7bb94ef
[MSVC] * Makefile.in: Don't use build-texinfo for the time being.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3292
diff
changeset
|
299 BUILD_TOOLS := $(filter-out build-texinfo build-xz, $(BUILD_TOOLS)) |
3256
7fb479d0241c
Update build tools for native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3230
diff
changeset
|
300 endif |
5900
504476481baf
Remove build rule for python2.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5841
diff
changeset
|
301 # use a native python in native mingw |
3610 | 302 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) |
5494
898c27394c57
Use python3 in scripts (bug #58689).
John Donoghue <john.donoghue@ieee.org>
parents:
5482
diff
changeset
|
303 REQUIREMENTS += python3 |
5901
f062bdb4f0a3
Rename build-python3 to build-python.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5900
diff
changeset
|
304 BUILD_TOOLS := $(filter-out build-python, $(BUILD_TOOLS)) |
3610 | 305 endif |
5901
f062bdb4f0a3
Rename build-python3 to build-python.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5900
diff
changeset
|
306 MXE_PYTHON ?= python3 |
3256
7fb479d0241c
Update build tools for native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3230
diff
changeset
|
307 |
3663
16615236ec37
Remove build-gawk as a dependacy in native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3611
diff
changeset
|
308 # use the a native awk in native mingw |
16615236ec37
Remove build-gawk as a dependacy in native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3611
diff
changeset
|
309 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) |
16615236ec37
Remove build-gawk as a dependacy in native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3611
diff
changeset
|
310 REQUIREMENTS += awk |
16615236ec37
Remove build-gawk as a dependacy in native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3611
diff
changeset
|
311 BUILD_TOOLS := $(filter-out build-gawk, $(BUILD_TOOLS)) |
16615236ec37
Remove build-gawk as a dependacy in native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3611
diff
changeset
|
312 endif |
3256
7fb479d0241c
Update build tools for native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3230
diff
changeset
|
313 |
3048
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
314 ifeq ($(USE_SYSTEM_GCC),yes) |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
315 BUILD_TOOLS := $(filter-out $(BUILD_COMPILER_TOOLS), $(BUILD_TOOLS)) |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
316 endif |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
317 ifneq ($(MXE_SYSTEM),msvc) |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
318 BUILD_TOOLS := $(filter-out build-msvctools, $(BUILD_TOOLS)) |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
319 endif |
2971
7145a94e4f4e
build autoconf, automake, libtool, and cmake instead of expecting them to exist
John W. Eaton <jwe@octave.org>
parents:
2964
diff
changeset
|
320 |
4066 | 321 STAMP_DIR := $(TOP_BUILD_DIR)/installed-packages |
4172
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
322 BUILT_PKGS_DIR := $(TOP_BUILD_DIR)/built-packages |
4066 | 323 MSYS_INFO_DIR := $(TOP_BUILD_DIR)/msys-info |
324 LOG_DIR := $(TOP_BUILD_DIR)/log | |
704
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
325 TIMESTAMP := $(shell date +%Y%m%d_%H%M%S) |
4193
32814edc00db
allow location of pkg directory to be specified
John W. Eaton <jwe@octave.org>
parents:
4192
diff
changeset
|
326 PKG_DIR := @PKG_DIR@ |
4066 | 327 TMP_DIR = $(TOP_BUILD_DIR)/tmp-$(1) |
328 MAKEFILE := $(TOP_BUILD_DIR)/Makefile | |
3481
b90ee860006f
use class="package" instead of id="PKG_NAME-package" in index.html to
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
329 PKGS := $(filter-out $(ALL_BUILD_TOOLS), $(shell $(SED) -n 's/^.* class="package">\([^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html')) |
5540
13628d1d41e2
Make more build tools optional.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5531
diff
changeset
|
330 PKGS += $(BUILD_TOOLS_OPT) |
3042
ace9dd211c99
for native mingw builds, add $(HOST_PREFIX)/bin to PATH
John W. Eaton <jwe@octave.org>
parents:
3040
diff
changeset
|
331 |
4192
438a4bfdc887
new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
4180
diff
changeset
|
332 ENV_PATH := $(PATH) |
3042
ace9dd211c99
for native mingw builds, add $(HOST_PREFIX)/bin to PATH
John W. Eaton <jwe@octave.org>
parents:
3040
diff
changeset
|
333 PATH := $(BUILD_TOOLS_PREFIX)/bin:$(PATH) |
4194
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
334 ifeq ($(USE_CCACHE),yes) |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
335 PATH := $(BUILD_TOOLS_PREFIX)/bin/ccache:$(PATH) |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
336 CCACHE_LINKS_TARGET := ccache-links |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
337 endif |
1398
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
338 |
4192
438a4bfdc887
new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
4180
diff
changeset
|
339 ENV_PKG_CONFIG_PATH := $(PKG_CONFIG_PATH) |
438a4bfdc887
new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
4180
diff
changeset
|
340 |
5831
4e1ae8cbc9ec
allow build-python3 to build correctly (bug #61008)
John W. Eaton <jwe@octave.org>
parents:
5830
diff
changeset
|
341 BUILD_PKG_CONFIG_PATH ?= $(BUILD_TOOLS_PREFIX)/lib/pkgconfig:@BUILD_PKG_CONFIG_PATH@ |
4967
46f4053aa6a3
Attempt to include system pkg config path when when needed
John Donoghue <john.donoghue@ieee.org>
parents:
4951
diff
changeset
|
342 |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
343 CONFIGURE_CPPFLAGS := CPPFLAGS='-I$(HOST_PREFIX)/include' |
3226
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
344 ifeq ($(MXE_USE_LIB64_DIRECTORY),yes) |
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
345 CONFIGURE_LDFLAGS := LDFLAGS='-L$(HOST_PREFIX)/lib -L$(HOST_PREFIX)/lib64' |
5009
fd5e5727326c
Makefile.in: If using lib64 dir, set pkg config path to use both lib and lib64 dirs
John W. Eaton <jwe@octave.org>
parents:
4977
diff
changeset
|
346 PKG_CONFIG_PATH := $(HOST_PREFIX)/lib/pkgconfig:$(HOST_PREFIX)/lib64/pkgconfig |
3426
b3554ecfaff2
Makefile.in: If using lib64 directory set PKG_CONFIG_PATH in environment.
John W. Eaton <jwe@octave.org>
parents:
3424
diff
changeset
|
347 export PKG_CONFIG_PATH |
3226
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
348 else |
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
349 CONFIGURE_LDFLAGS := LDFLAGS='-L$(HOST_PREFIX)/lib' |
3969
cdd15551e80e
Makefile.in: set pkg-config path for non lib64 settings
John Donoghue
parents:
3967
diff
changeset
|
350 PKG_CONFIG_PATH := $(HOST_PREFIX)/lib/pkgconfig |
cdd15551e80e
Makefile.in: set pkg-config path for non lib64 settings
John Donoghue
parents:
3967
diff
changeset
|
351 export PKG_CONFIG_PATH |
3226
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
352 endif |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
353 CONFIGURE_POST_HOOK := true |
2956 | 354 |
3863
3909c600a7db
Makefile.in: set HOST_BINDIR, HOST_LIBDIR, etc. before using them.
John W. Eaton <jwe@octave.org>
parents:
3858
diff
changeset
|
355 HOST_BINDIR := $(HOST_PREFIX)/bin |
3909c600a7db
Makefile.in: set HOST_BINDIR, HOST_LIBDIR, etc. before using them.
John W. Eaton <jwe@octave.org>
parents:
3858
diff
changeset
|
356 HOST_LIBDIR := $(HOST_PREFIX)/lib |
3909c600a7db
Makefile.in: set HOST_BINDIR, HOST_LIBDIR, etc. before using them.
John W. Eaton <jwe@octave.org>
parents:
3858
diff
changeset
|
357 HOST_LIB64DIR := $(HOST_PREFIX)/lib64 |
3909c600a7db
Makefile.in: set HOST_BINDIR, HOST_LIBDIR, etc. before using them.
John W. Eaton <jwe@octave.org>
parents:
3858
diff
changeset
|
358 HOST_INCDIR := $(HOST_PREFIX)/include |
3909c600a7db
Makefile.in: set HOST_BINDIR, HOST_LIBDIR, etc. before using them.
John W. Eaton <jwe@octave.org>
parents:
3858
diff
changeset
|
359 |
3891
d135404e71a4
Makefile.in: Always define CMAKE_ROOT_PREFIX and CMAKE_HOST_PREFIX
John W. Eaton <jwe@octave.org>
parents:
3887
diff
changeset
|
360 CMAKE_HOST_PREFIX := $(HOST_PREFIX) |
d135404e71a4
Makefile.in: Always define CMAKE_ROOT_PREFIX and CMAKE_HOST_PREFIX
John W. Eaton <jwe@octave.org>
parents:
3887
diff
changeset
|
361 CMAKE_ROOT_PREFIX := $(ROOT_PREFIX) |
d135404e71a4
Makefile.in: Always define CMAKE_ROOT_PREFIX and CMAKE_HOST_PREFIX
John W. Eaton <jwe@octave.org>
parents:
3887
diff
changeset
|
362 |
2997 | 363 ifeq ($(MXE_NATIVE_BUILD),yes) |
3031
951da75fd09c
improve handling of cross tool prefix
John W. Eaton <jwe@octave.org>
parents:
3029
diff
changeset
|
364 MXE_TOOL_PREFIX := |
3292
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
365 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
366 # The installation directories have been created previously. So we |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
367 # can rely on their existence to compute their Win32 equivalent. |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
368 HOST_PREFIX_NATIVE := $(shell cd $(HOST_PREFIX) && pwd -W) |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
369 ROOT_PREFIX_NATIVE := $(shell cd $(ROOT_PREFIX) && pwd -W) |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
370 # CMake uses Win32 paths, not MSYS paths. When using a MSYS path as |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
371 # DESTDIR, CMake translates it into a Win32 path and strip the |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
372 # drive letter from it. |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
373 CMAKE_HOST_PREFIX := $(shell echo $(HOST_PREFIX_NATIVE) | $(SED) -e 's/^[a-zA-Z]://') |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
374 CMAKE_ROOT_PREFIX := $(shell echo $(ROOT_PREFIX_NATIVE) | $(SED) -e 's/^[a-zA-Z]://') |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
375 endif |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
376 ifeq ($(MXE_SYSTEM),msvc) |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
377 MXE_AR := ar |
3099
034f830a5823
[MSVC] enable FLTK compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3087
diff
changeset
|
378 MXE_RANLIB := true |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
379 MXE_CC := clgcc |
3111
50135b4423ec
Define MXE_CCAS for all systems (but ignored in most systems).
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3099
diff
changeset
|
380 MXE_CCAS := gcc |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
381 MXE_CXX := clg++ |
3076
b39e8dc859f7
[MSVC] enable gmplib compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3068
diff
changeset
|
382 MXE_F77 := clgfortran |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
383 MXE_DLLTOOL := true |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
384 MXE_NM := nm |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
385 MXE_STRIP := true |
2997 | 386 MXE_WINDRES := windres |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
387 MXE_PKG_CONFIG := pkg-config |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
388 MXE_QMAKE := qmake |
3087
3663f6300abf
[MSVC] enable FFTW compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3080
diff
changeset
|
389 # Although the Fortran compiler is internally gfortran, we still |
3663f6300abf
[MSVC] enable FFTW compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3080
diff
changeset
|
390 # want to make it look like non-GNU compiler, otherwise libtool is |
3663f6300abf
[MSVC] enable FFTW compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3080
diff
changeset
|
391 # not playing nicely and trips over different variable values for |
3663f6300abf
[MSVC] enable FFTW compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3080
diff
changeset
|
392 # different configuration tags. |
3063
3b4f71898e4b
[MSVC] Force use of -O2 for CFLAGS and CXXFLAGS.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3062
diff
changeset
|
393 HOST_AND_BUILD_CONFIGURE_OPTIONS := \ |
3111
50135b4423ec
Define MXE_CCAS for all systems (but ignored in most systems).
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3099
diff
changeset
|
394 CC='$(MXE_CC)' CXX='$(MXE_CXX)' F77='$(MXE_F77)' DLLTOOL='$(MXE_DLLTOOL)' CCAS='$(MXE_CCAS)' \ |
3099
034f830a5823
[MSVC] enable FLTK compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3087
diff
changeset
|
395 CFLAGS='-O2' CXXFLAGS='-O2' ac_cv_f77_compiler_gnu=no RANLIB='$(MXE_RANLIB)' |
3336
5c651d4db00c
[MSVC] Don't use native paths in configure flags.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3333
diff
changeset
|
396 # CLGCC wrappers automatically adjust INCLUDE and LIB variables. |
5c651d4db00c
[MSVC] Don't use native paths in configure flags.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3333
diff
changeset
|
397 CONFIGURE_CPPFLAGS := |
5c651d4db00c
[MSVC] Don't use native paths in configure flags.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3333
diff
changeset
|
398 CONFIGURE_LDFLAGS := |
2997 | 399 else |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
400 MXE_AR := ar |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
401 MXE_RANLIB := ranlib |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
402 MXE_CC := gcc |
3076
b39e8dc859f7
[MSVC] enable gmplib compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3068
diff
changeset
|
403 MXE_CCAS := gcc |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
404 MXE_CXX := g++ |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
405 MXE_F77 := gfortran |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
406 MXE_DLLTOOL := dlltool |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
407 MXE_NM := nm |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
408 MXE_STRIP := strip |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
409 ifeq ($(MXE_SYSTEM),mingw) |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
410 MXE_WINDRES := windres |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
411 else |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
412 MXE_WINDRES := true |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
413 endif |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
414 MXE_PKG_CONFIG := pkg-config |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
415 MXE_QMAKE := qmake |
2997 | 416 endif |
3746
0ef36efbd9cd
qt: for cross compile, move the native binaries to the builkd directory
John Donoghue
parents:
3742
diff
changeset
|
417 |
3851
c55d9f182272
use MXE_XXXX tools for octave qt compiling (Bug 44563)
John Donoghue
parents:
3844
diff
changeset
|
418 MXE_MOC := $(HOST_BINDIR)/moc |
c55d9f182272
use MXE_XXXX tools for octave qt compiling (Bug 44563)
John Donoghue
parents:
3844
diff
changeset
|
419 MXE_UIC := $(HOST_BINDIR)/uic |
c55d9f182272
use MXE_XXXX tools for octave qt compiling (Bug 44563)
John Donoghue
parents:
3844
diff
changeset
|
420 MXE_LRELEASE := $(HOST_BINDIR)/lrelease |
c55d9f182272
use MXE_XXXX tools for octave qt compiling (Bug 44563)
John Donoghue
parents:
3844
diff
changeset
|
421 MXE_RCC := $(HOST_BINDIR)/rcc |
3853
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
422 |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
423 MXE_MKOCTFILE := $(HOST_BINDIR)/mkoctfile |
3854 | 424 MXE_OCTAVECONFIG := $(HOST_BINDIR)/octave-config |
2997 | 425 else |
3031
951da75fd09c
improve handling of cross tool prefix
John W. Eaton <jwe@octave.org>
parents:
3029
diff
changeset
|
426 MXE_TOOL_PREFIX := $(TARGET)- |
951da75fd09c
improve handling of cross tool prefix
John W. Eaton <jwe@octave.org>
parents:
3029
diff
changeset
|
427 MXE_AR := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)ar' |
951da75fd09c
improve handling of cross tool prefix
John W. Eaton <jwe@octave.org>
parents:
3029
diff
changeset
|
428 MXE_RANLIB := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)ranlib' |
951da75fd09c
improve handling of cross tool prefix
John W. Eaton <jwe@octave.org>
parents:
3029
diff
changeset
|
429 MXE_CC := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)gcc' |
3111
50135b4423ec
Define MXE_CCAS for all systems (but ignored in most systems).
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3099
diff
changeset
|
430 MXE_CCAS := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)gcc' |
3031
951da75fd09c
improve handling of cross tool prefix
John W. Eaton <jwe@octave.org>
parents:
3029
diff
changeset
|
431 MXE_CXX := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)g++' |
951da75fd09c
improve handling of cross tool prefix
John W. Eaton <jwe@octave.org>
parents:
3029
diff
changeset
|
432 MXE_F77 := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)gfortran' |
951da75fd09c
improve handling of cross tool prefix
John W. Eaton <jwe@octave.org>
parents:
3029
diff
changeset
|
433 MXE_DLLTOOL := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)dlltool' |
951da75fd09c
improve handling of cross tool prefix
John W. Eaton <jwe@octave.org>
parents:
3029
diff
changeset
|
434 MXE_NM := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)nm' |
951da75fd09c
improve handling of cross tool prefix
John W. Eaton <jwe@octave.org>
parents:
3029
diff
changeset
|
435 MXE_STRIP := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)strip' |
2997 | 436 ifeq ($(MXE_SYSTEM),mingw) |
3031
951da75fd09c
improve handling of cross tool prefix
John W. Eaton <jwe@octave.org>
parents:
3029
diff
changeset
|
437 MXE_WINDRES := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)windres' |
2997 | 438 else |
439 MXE_WINDRES := true | |
440 endif | |
3230
bd4487905031
Update makefile.in for pkg-config name in cross compile
John Donoghue <john.donoghue@ieee.org>
parents:
3227
diff
changeset
|
441 MXE_PKG_CONFIG := '$(BUILD_TOOLS_PREFIX)/bin/pkg-config' |
4222
44b1a9b2193e
qt5: add initial qt5 to mxe-octave, based on mxe.cc
John D
parents:
4206
diff
changeset
|
442 ifeq ($(ENABLE_QT5),yes) |
44b1a9b2193e
qt5: add initial qt5 to mxe-octave, based on mxe.cc
John D
parents:
4206
diff
changeset
|
443 MXE_QMAKE := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)qmake-qt5' |
44b1a9b2193e
qt5: add initial qt5 to mxe-octave, based on mxe.cc
John D
parents:
4206
diff
changeset
|
444 else |
44b1a9b2193e
qt5: add initial qt5 to mxe-octave, based on mxe.cc
John D
parents:
4206
diff
changeset
|
445 MXE_QMAKE := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)qmake' |
44b1a9b2193e
qt5: add initial qt5 to mxe-octave, based on mxe.cc
John D
parents:
4206
diff
changeset
|
446 endif |
44b1a9b2193e
qt5: add initial qt5 to mxe-octave, based on mxe.cc
John D
parents:
4206
diff
changeset
|
447 |
3746
0ef36efbd9cd
qt: for cross compile, move the native binaries to the builkd directory
John Donoghue
parents:
3742
diff
changeset
|
448 MXE_MOC := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)moc' |
0ef36efbd9cd
qt: for cross compile, move the native binaries to the builkd directory
John Donoghue
parents:
3742
diff
changeset
|
449 MXE_UIC := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)uic' |
3851
c55d9f182272
use MXE_XXXX tools for octave qt compiling (Bug 44563)
John Donoghue
parents:
3844
diff
changeset
|
450 MXE_LRELEASE := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)lrelease' |
c55d9f182272
use MXE_XXXX tools for octave qt compiling (Bug 44563)
John Donoghue
parents:
3844
diff
changeset
|
451 MXE_RCC := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)rcc' |
3853
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
452 |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
453 MXE_MKOCTFILE := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)mkoctfile' |
3854 | 454 MXE_OCTAVECONFIG := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)octave-config' |
2997 | 455 endif |
456 | |
457 ifeq ($(MXE_SYSTEM),mingw) | |
458 MAKE_SHARED_FROM_STATIC_OPTIONS := --windowsdll | |
459 endif | |
460 | |
4192
438a4bfdc887
new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
4180
diff
changeset
|
461 ENV_LD_LIBRARY_PATH := $(LD_LIBRARY_PATH) |
438a4bfdc887
new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
4180
diff
changeset
|
462 |
2997 | 463 ifeq ($(MXE_SYSTEM),mingw) |
3439
c9ade6d47f3a
Provide new variable to check whether we are doing a Windows build.
John W. Eaton <jwe@octave.org>
parents:
3436
diff
changeset
|
464 MXE_WINDOWS_BUILD := yes |
2997 | 465 ifneq ($(MXE_NATIVE_BUILD),yes) |
3254
4c8eca3ca2ba
Add msys-unzip package
Markus Bergholz <markuman+morespam@gmail.com>
parents:
3230
diff
changeset
|
466 MSYS_URL := http://sourceforge.net/projects/mingw/files/MSYS |
3255
a3df5e820bcd
brackets missed in 4c8eca3ca2ba
Markus Bergholz <markuman+brokeit@gmail.com>
parents:
3254
diff
changeset
|
467 MSYS_BASE_URL := $(MSYS_URL)/Base |
a3df5e820bcd
brackets missed in 4c8eca3ca2ba
Markus Bergholz <markuman+brokeit@gmail.com>
parents:
3254
diff
changeset
|
468 MSYS_EXTENSION_URL := $(MSYS_URL)/Extension |
2997 | 469 MSYS_BASE_VER := 1.0.13 |
3254
4c8eca3ca2ba
Add msys-unzip package
Markus Bergholz <markuman+morespam@gmail.com>
parents:
3230
diff
changeset
|
470 MSYS_EXTENSION_VER := 1.0.13 |
4066 | 471 MSYS_BASE_DIR := $(TOP_BUILD_DIR)/msys-base |
472 MSYS_EXTENSION_DIR := $(TOP_BUILD_DIR)/msys-extension | |
4123 | 473 MSYS_BASE_PACKAGES := $(addprefix msys-,bash coreutils diffutils dos2unix file findutils gawk grep gzip less libcrypt libiconv libintl libmagic libopenssl make msys-core patch perl regex sed tar termcap unzip zip wget zlib) |
3960
bd51e2f81020
mingw: add perl msys module for devel tools
John Donoghue <john.donoghue@ieee.org>
parents:
3958
diff
changeset
|
474 |
3709
c8546fe79bc9
download src files for msys packages when building Windows zip file or installer
John W. Eaton <jwe@octave.org>
parents:
3708
diff
changeset
|
475 MSYS_BASE_SOURCES := $(addprefix src-,$(MSYS_BASE_PACKAGES)) |
c8546fe79bc9
download src files for msys packages when building Windows zip file or installer
John W. Eaton <jwe@octave.org>
parents:
3708
diff
changeset
|
476 PKGS += $(MSYS_BASE_SOURCES) |
2997 | 477 |
4793
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
478 NOTEPAD_BASE_DIR := $(TOP_BUILD_DIR)/notepad++ |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
479 |
4920
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
480 MSYS2_ARCH ?= $(shell echo $(TARGET) | $(SED) -n 's|\([^-]*\).*|\1|p') |
4793
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
481 MSYS2_PACKAGES := $(shell $(SED) -n 's/^.* class="package">\([^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html' | $(GREP) msys2-) |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
482 MSYS2_SOURCES := $(addprefix src-,$(MSYS2_PACKAGES)) |
4797
d4bf89da9080
do add MSYS2_SOURCES to PKGS
John W. Eaton <jwe@octave.org>
parents:
4795
diff
changeset
|
483 PKGS += $(MSYS2_SOURCES) |
5767
52a6c3546406
* Makefile.in: use https for msys2 url
John Donoghue <john.donoghue@ieee.org>
parents:
5742
diff
changeset
|
484 MSYS2_BASE_URL := https://repo.msys2.org/msys |
4793
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
485 MSYS2_URL := $(MSYS2_BASE_URL)/$(MSYS2_ARCH) |
5265
a7bbb803f069
* Makefile.in: update urls and msys2 rules to go to repo.msys2.org
John Donoghue
parents:
5255
diff
changeset
|
486 MSYS2_SRC_URL := $(MSYS2_BASE_URL)/sources |
4793
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
487 MSYS2_DIR := $(TOP_BUILD_DIR)/msys2 |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
488 |
5206
ac4cae18895f
Allow update of msys2 files from single download of packages file
John Donoghue
parents:
5062
diff
changeset
|
489 MSYS2_UPDATE_TMP_FILE := $(TOP_BUILD_DIR)/msys_updates.html |
2997 | 490 endif |
3441
be097438c96f
make native gnu-linux builds work for pkg-config and libgomp
John W. Eaton <jwe@octave.org>
parents:
3439
diff
changeset
|
491 else ifeq ($(MXE_SYSTEM),msvc) |
3439
c9ade6d47f3a
Provide new variable to check whether we are doing a Windows build.
John W. Eaton <jwe@octave.org>
parents:
3436
diff
changeset
|
492 MXE_WINDOWS_BUILD := yes |
3441
be097438c96f
make native gnu-linux builds work for pkg-config and libgomp
John W. Eaton <jwe@octave.org>
parents:
3439
diff
changeset
|
493 else |
be097438c96f
make native gnu-linux builds work for pkg-config and libgomp
John W. Eaton <jwe@octave.org>
parents:
3439
diff
changeset
|
494 MXE_WINDOWS_BUILD := no |
3226
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
495 MXE_CPPFLAGS := '-I$(HOST_INCDIR)' |
3227
c0f577fc5d4a
Makefile.in: fix syntax in ifeq statement
John W. Eaton <jwe@octave.org>
parents:
3226
diff
changeset
|
496 ifeq ($(MXE_USE_LIB64_DIRECTORY),yes) |
3226
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
497 MXE_LDFLAGS := '-L$(HOST_LIBDIR) -L$(HOST_LIB64DIR)' |
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
498 LD_LIBRARY_PATH := $(HOST_LIBDIR):$(HOST_LIB64DIR) |
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
499 else |
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
500 MXE_LDFLAGS := '-L$(HOST_LIBDIR)' |
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
501 LD_LIBRARY_PATH := $(HOST_LIBDIR) |
c56f388f1297
make using lib64 directory configurable
John W. Eaton <jwe@octave.org>
parents:
3214
diff
changeset
|
502 endif |
2997 | 503 export LD_LIBRARY_PATH |
504 endif | |
2964 | 505 |
3006
dabfd7db980c
use cp for ln on mingw native builds
John W. Eaton <jwe@octave.org>
parents:
3005
diff
changeset
|
506 LN := ln |
dabfd7db980c
use cp for ln on mingw native builds
John W. Eaton <jwe@octave.org>
parents:
3005
diff
changeset
|
507 LN_S := $(LN) -s |
dabfd7db980c
use cp for ln on mingw native builds
John W. Eaton <jwe@octave.org>
parents:
3005
diff
changeset
|
508 LN_SF := $(LN_S) -f |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
509 ifeq ($(MXE_NATIVE_BUILD),yes) |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
510 ifeq ($(MXE_SYSTEM),mingw) |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
511 LN := cp |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
512 LN_S := $(LN) |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
513 LN_SF := $(LN_S) |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
514 endif |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
515 ifeq ($(MXE_SYSTEM),msvc) |
3006
dabfd7db980c
use cp for ln on mingw native builds
John W. Eaton <jwe@octave.org>
parents:
3005
diff
changeset
|
516 LN := cp |
dabfd7db980c
use cp for ln on mingw native builds
John W. Eaton <jwe@octave.org>
parents:
3005
diff
changeset
|
517 LN_S := $(LN) |
dabfd7db980c
use cp for ln on mingw native builds
John W. Eaton <jwe@octave.org>
parents:
3005
diff
changeset
|
518 LN_SF := $(LN_S) |
dabfd7db980c
use cp for ln on mingw native builds
John W. Eaton <jwe@octave.org>
parents:
3005
diff
changeset
|
519 endif |
dabfd7db980c
use cp for ln on mingw native builds
John W. Eaton <jwe@octave.org>
parents:
3005
diff
changeset
|
520 endif |
dabfd7db980c
use cp for ln on mingw native builds
John W. Eaton <jwe@octave.org>
parents:
3005
diff
changeset
|
521 |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
522 LIBRARY_PREFIX := |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
523 LIBRARY_SUFFIX := |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
524 |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
525 ifeq ($(MXE_SYSTEM),msvc) |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
526 CL_VERSION := $(shell cl -? 2>&1 | $(SED) -n -e 's/.*Compiler Version \([0-9]\+\).*/\1/p') |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
527 MSVC_VERSION := $(if $(filter 17,$(CL_VERSION)),110, \ |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
528 $(if $(filter 16,$(CL_VERSION)),100, \ |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
529 $(if $(filter 15,$(CL_VERSION)),90))) |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
530 LIBRARY_PREFIX := vc$(strip $(MSVC_VERSION))-lib |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
531 CONFIGURE_POST_HOOK := lt-postproc -p '$(LIBRARY_PREFIX)' -s '$(LIBRARY_SUFFIX)' |
3062
4c047285ea8a
Make BLAS compilable with MSVC.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3061
diff
changeset
|
532 MAKE_SHARED_FROM_STATIC_OPTIONS := --windowsdll --msvc --libprefix '$(LIBRARY_PREFIX)' --libsuffix '$(LIBRARY_SUFFIX)' |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
533 endif |
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
534 |
4649
b959f5d524f8
* Makefile.in, index.html: update octave and octave forge pacgaes to use https
John Donoghue
parents:
4631
diff
changeset
|
535 OCTAVE_FORGE_BASE_URL := 'https://sourceforge.net/projects/octave/files/Octave Forge Packages/Individual Package Releases' |
4376
b0d049115f65
Makefile.in (OCTAVE_FORGE_PACKAGES): Remove sparsersb from list.
John W. Eaton <jwe@octave.org>
parents:
4335
diff
changeset
|
536 ## Packages removed from list because build is broken: |
4745 | 537 ## None. |
5692
2e13db1e70ce
* Makefile.in: sort octave forge packages
John Donoghue <john.donoghue@ieee.org>
parents:
5691
diff
changeset
|
538 OCTAVE_FORGE_PACKAGES := $(addprefix of-,audio communications control database dataframe data-smoothing dicom financial fits fuzzy-logic-toolkit ga general generate_html geometry gsl image instrument-control interval io linear-algebra lssa ltfat mapping matgeom miscellaneous nan netcdf nurbs ocs octproj optim optiminterp quaternion queueing signal sockets sparsersb splines statistics stk strings struct symbolic tisean tsa video windows zeromq) |
5819
9cddbf0c85fa
biosig: Update to version 2.3.2
Alois Schlögl <alois.schloegl@gmx.net>
parents:
5817
diff
changeset
|
539 OCTAVE_OTHER_PACKAGES := $(addprefix opkg-,biosig) |
4206
57a662852ddc
correct lists of forge packages and dependencies
John W. Eaton <jwe@octave.org>
parents:
4204
diff
changeset
|
540 # get ALL deps for all of- packages, regardless of whether building the actual forge package in the installer |
57a662852ddc
correct lists of forge packages and dependencies
John W. Eaton <jwe@octave.org>
parents:
4204
diff
changeset
|
541 OCTAVE_FORGE_DEPS:= $(sort $(foreach p,$(addprefix $(TOP_DIR)/src/,$(addsuffix .mk,$(OCTAVE_FORGE_PACKAGES))),$(shell $(SED) -n 's/.*_DEPS.*:=\(.*\)/\1/p' $p))) |
5742
b532d40c63d8
Add Octave package biosig version 2.2.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
5696
diff
changeset
|
542 OCTAVE_OTHER_PKG_DEPS:= $(sort $(foreach p,$(addprefix $(TOP_DIR)/src/,$(addsuffix .mk,$(OCTAVE_OTHER_PACKAGES))),$(shell $(SED) -n 's/.*_DEPS.*:=\(.*\)/\1/p' $p))) |
2958
04791633efbc
Octave Forge package sources and build script
John W. Eaton <jwe@octave.org>
parents:
2956
diff
changeset
|
543 |
3512
3df664b02b15
Only build openblas if ENABLE_OPENBLAS is 'yes'.
John W. Eaton <jwe@octave.org>
parents:
3481
diff
changeset
|
544 BLAS_PACKAGES := blas |
3df664b02b15
Only build openblas if ENABLE_OPENBLAS is 'yes'.
John W. Eaton <jwe@octave.org>
parents:
3481
diff
changeset
|
545 ifeq ($(ENABLE_OPENBLAS),yes) |
3df664b02b15
Only build openblas if ENABLE_OPENBLAS is 'yes'.
John W. Eaton <jwe@octave.org>
parents:
3481
diff
changeset
|
546 BLAS_PACKAGES += openblas |
3df664b02b15
Only build openblas if ENABLE_OPENBLAS is 'yes'.
John W. Eaton <jwe@octave.org>
parents:
3481
diff
changeset
|
547 endif |
3471
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3456
diff
changeset
|
548 |
3958
ac3abcea55e8
Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3957
diff
changeset
|
549 DEVEL_PACKAGES := |
ac3abcea55e8
Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3957
diff
changeset
|
550 ifeq ($(ENABLE_DEVEL_TOOLS),yes) |
ac3abcea55e8
Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3957
diff
changeset
|
551 DEVEL_PACKAGES += gdb |
4976
443463cb9e4a
* Makefile.in: include cmake when dev tools enabled
John Donoghue
parents:
4967
diff
changeset
|
552 DEVEL_PACKAGES += cmake |
3958
ac3abcea55e8
Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3957
diff
changeset
|
553 endif |
ac3abcea55e8
Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3957
diff
changeset
|
554 |
ac3abcea55e8
Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3957
diff
changeset
|
555 |
2997 | 556 MAKE_SHARED_FROM_STATIC := \ |
557 $(TOP_DIR)/tools/make-shared-from-static $(MAKE_SHARED_FROM_STATIC_OPTIONS) | |
2858
7c6b29399d05
New script to make shared libraries from static libraries. This
John W. Eaton <jwe@octave.org>
parents:
2856
diff
changeset
|
558 |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5540
diff
changeset
|
559 ifeq ($(USE_CCACHE),yes) |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5540
diff
changeset
|
560 CMAKE_CCACHE_FLAGS := \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5540
diff
changeset
|
561 -DCMAKE_CXX_COMPILER_LAUNCHER='$(CCACHE)' \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5540
diff
changeset
|
562 -DCMAKE_C_COMPILER_LAUNCHER='$(CCACHE)' \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5540
diff
changeset
|
563 -DCMAKE_Fortran_COMPILER_LAUNCHER='$(CCACHE)' |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5540
diff
changeset
|
564 endif |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5540
diff
changeset
|
565 |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
566 CMAKE_TOOLCHAIN_FILE := $(HOST_PREFIX)/share/cmake/mxe-conf.cmake |
5255
74fe6c154dee
Dont install built files in top dir
John Donoghue <john.donoghue@ieee.org>
parents:
5211
diff
changeset
|
567 CMAKE_NATIVE_TOOLCHAIN_FILE := $(TOP_BUILD_DIR)/usr/share/cmake/native-conf.cmake |
1663
9577f70222f8
add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents:
1555
diff
changeset
|
568 |
1074
4f4354ddd6ae
really unexport the troublesome environment variables, rather than just setting them to empty strings
Volker Grabsch <vog@notjusthosting.com>
parents:
826
diff
changeset
|
569 # unexport any environment variables that might cause trouble |
3126
7421017ece8e
Makefile.in: also unexport F77 and FFLAGS
John W. Eaton <jwe@octave.org>
parents:
3111
diff
changeset
|
570 unexport AR CC CFLAGS C_INCLUDE_PATH CPATH CPLUS_INCLUDE_PATH CPP F77 FFLAGS |
1206
686a80e66ce1
add more environment variables to the blacklist: CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH OBJC_INCLUDE_PATH LIBRARY_PATH
Volker Grabsch <vog@notjusthosting.com>
parents:
1201
diff
changeset
|
571 unexport CPPFLAGS CROSS CXX CXXCPP CXXFLAGS EXEEXT EXTRA_CFLAGS |
686a80e66ce1
add more environment variables to the blacklist: CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH OBJC_INCLUDE_PATH LIBRARY_PATH
Volker Grabsch <vog@notjusthosting.com>
parents:
1201
diff
changeset
|
572 unexport EXTRA_LDFLAGS LD LDFLAGS LIBRARY_PATH LIBS NM |
1504
dfa937baa17b
improved pkg-config wrapper and its documentation
Volker Grabsch <vog@notjusthosting.com>
parents:
1466
diff
changeset
|
573 unexport OBJC_INCLUDE_PATH PKG_CONFIG QMAKESPEC RANLIB STRIP |
4948
ff812078f5cf
* Makefile.in: unexport CONFIG_SITE (Bug #55608)
John Donoghue
parents:
4920
diff
changeset
|
574 unexport CONFIG_SITE |
287
92ac81dea92d
bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents:
285
diff
changeset
|
575 |
264
01aa6a0e1c9e
new macro SHORT_PKG_VERSION which assists in creating download URLs
Volker Grabsch <vog@notjusthosting.com>
parents:
259
diff
changeset
|
576 SHORT_PKG_VERSION = \ |
01aa6a0e1c9e
new macro SHORT_PKG_VERSION which assists in creating download URLs
Volker Grabsch <vog@notjusthosting.com>
parents:
259
diff
changeset
|
577 $(word 1,$(subst ., ,$($(1)_VERSION))).$(word 2,$(subst ., ,$($(1)_VERSION))) |
01aa6a0e1c9e
new macro SHORT_PKG_VERSION which assists in creating download URLs
Volker Grabsch <vog@notjusthosting.com>
parents:
259
diff
changeset
|
578 |
3046
f23cc822f52d
Makefile.in updates for native mingw qrupdate untar
John Donoghue <john.donoghue@ieee.org>
parents:
3045
diff
changeset
|
579 UNPACK_ARCHIVE = \ |
3170
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
580 $(if $(filter %.tgz, $(1)),$(3) xzf '$(1)', \ |
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
581 $(if $(filter %.tar.gz, $(1)),$(3) xzf '$(1)', \ |
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
582 $(if $(filter %.tar.bz2, $(1)),$(3) xjf '$(1)', \ |
4236 | 583 $(if $(filter %.tar.lz, $(1)),$(3) xaf '$(1)', \ |
3170
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
584 $(if $(filter %.tar.lzma,$(1)),xz -dc -F lzma '$(1)' | $(3) xf -, \ |
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
585 $(if $(filter %.tar.xz,$(1)),xz -dc '$(1)' | $(3) xf -, \ |
5820
6bcf5c550648
build: Add support for zstd compressed archives (bug #61008).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
5819
diff
changeset
|
586 $(if $(filter %.tar.zst,$(1)),zstd -dc '$(1)' | $(3) xf -, \ |
1101
28abe875c217
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1095
diff
changeset
|
587 $(if $(filter %.zip, $(1)),unzip -q '$(1)', \ |
5820
6bcf5c550648
build: Add support for zstd compressed archives (bug #61008).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
5819
diff
changeset
|
588 $(error Unknown archive format for $(2): $(1)))))))))) |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
589 |
215
898425550c29
new macro UNPACK_PKG_ARCHIVE for build rules (This is useful in connection with download-only packages)
Volker Grabsch <vog@notjusthosting.com>
parents:
214
diff
changeset
|
590 UNPACK_PKG_ARCHIVE = \ |
3170
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
591 $(if $(value $(1)_FILE),$(call UNPACK_ARCHIVE,$(PKG_DIR)/$($(1)_FILE),$(1),$(2)),true) |
215
898425550c29
new macro UNPACK_PKG_ARCHIVE for build rules (This is useful in connection with download-only packages)
Volker Grabsch <vog@notjusthosting.com>
parents:
214
diff
changeset
|
592 |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
593 PKG_CHECKSUM = \ |
4760
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
594 openssl sha1 $(or $(2),'$(PKG_DIR)/$($(1)_FILE)') 2>/dev/null | $(SED) -n 's,^.*\([0-9a-f]\{40\}\)$$,\1,p' |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
595 |
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
596 CHECK_PKG_ARCHIVE = \ |
4760
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
597 $(if $($(1)_SOURCE_TREE),\ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
598 echo '[local]' '$(1)' '$($(1)_SOURCE_TREE)' \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
599 $(else),$(if $(SKIP_CHECHSUM),true, \ |
4762
625a9484e134
as before 36b2178e7475, accept package sources with empty checksum
John W. Eaton <jwe@octave.org>
parents:
4760
diff
changeset
|
600 [ -z "$($(1)_CHECKSUM)" -o '$($(1)_CHECKSUM)' == "`$$(call PKG_CHECKSUM,$(1),$(2))`" ]\ |
4760
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
601 )) |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
602 |
4758
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
603 ESCAPE_PKG = \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
604 echo '$($(1)_FILE)' | perl -lpe 's/([^A-Za-z0-9])/sprintf("%%%02X", ord($$$$1))/seg' |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
605 |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
606 BACKUP_DOWNLOAD = \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
607 (echo "MXE Warning! Downloading $(1) from backup." >&2 && \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
608 ($(foreach SITE,$(MIRROR_SITES), \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
609 $(WGET) -O '$(TMP_FILE)' $($(SITE))/`$(call ESCAPE_PKG,$(1))` || ) false)) |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
610 |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
611 DOWNLOAD_PKG_ARCHIVE = \ |
4758
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
612 $(eval TMP_FILE := $(PKG_DIR)/.tmp-$($(1)_FILE)) \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
613 $(if $($(1)_SOURCE_TREE),\ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
614 true\ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
615 $(else),\ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
616 mkdir -p '$(PKG_DIR)' && ( \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
617 ($(WGET) -T 30 -t 3 -O '$(TMP_FILE)' '$($(1)_URL)' && \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
618 $(call CHECK_PKG_ARCHIVE,$(1),'$(TMP_FILE)')) \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
619 $(if $($(1)_URL_2), \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
620 || (echo "MXE Warning! Downloading $(1) from second URL." >&2 && \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
621 $(WGET) -T 30 -t 3 -O '$(TMP_FILE)' '$($(1)_URL_2)' && \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
622 $(call CHECK_PKG_ARCHIVE,$(1),'$(TMP_FILE)'))) \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
623 $(if $(MXE_NO_BACKUP_DL),, \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
624 || $(BACKUP_DOWNLOAD)) \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
625 ) && cat '$(TMP_FILE)' \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
626 $(if $($(1)_FIX_GZIP), \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
627 | gzip -d | gzip -9n, \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
628 ) \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
629 > '$(PKG_DIR)/$($(1)_FILE)' && \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
630 $(if $(CREATE_SUFFIXED_ARCHIVE),cp '$(PKG_DIR)/$($(1)_FILE)' '$(PKG_DIR)/$($(1)_FILE)_$($(1)_CHECKSUM)' &&) \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
631 rm '$(TMP_FILE)' || \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
632 ( echo; \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
633 echo 'Download failed!'; \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
634 echo; \ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
635 rm -f '$(PKG_DIR)/$($(1)_FILE)' '$(TMP_FILE)'; )\ |
36b2178e7475
update download rules from mxe
John W. Eaton <jwe@octave.org>
parents:
4745
diff
changeset
|
636 ) |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
637 |
2500
8db5a297f243
Add support for a local settings file settings.mk
Volker Grabsch <vog@notjusthosting.com>
parents:
2475
diff
changeset
|
638 ifeq ($(IGNORE_SETTINGS),yes) |
8db5a297f243
Add support for a local settings file settings.mk
Volker Grabsch <vog@notjusthosting.com>
parents:
2475
diff
changeset
|
639 $(info [ignore settings.mk]) |
4066 | 640 else ifeq ($(wildcard $(TOP_BUILD_DIR)/settings.mk),$(TOP_BUILD_DIR)/settings.mk) |
641 include $(TOP_BUILD_DIR)/settings.mk | |
2500
8db5a297f243
Add support for a local settings file settings.mk
Volker Grabsch <vog@notjusthosting.com>
parents:
2475
diff
changeset
|
642 else |
8db5a297f243
Add support for a local settings file settings.mk
Volker Grabsch <vog@notjusthosting.com>
parents:
2475
diff
changeset
|
643 $(info [create settings.mk]) |
8db5a297f243
Add support for a local settings file settings.mk
Volker Grabsch <vog@notjusthosting.com>
parents:
2475
diff
changeset
|
644 $(shell { \ |
8db5a297f243
Add support for a local settings file settings.mk
Volker Grabsch <vog@notjusthosting.com>
parents:
2475
diff
changeset
|
645 echo '#JOBS = $(JOBS)'; \ |
8db5a297f243
Add support for a local settings file settings.mk
Volker Grabsch <vog@notjusthosting.com>
parents:
2475
diff
changeset
|
646 echo '#PKGS ='; \ |
4066 | 647 } >'$(TOP_BUILD_DIR)/settings.mk') |
2500
8db5a297f243
Add support for a local settings file settings.mk
Volker Grabsch <vog@notjusthosting.com>
parents:
2475
diff
changeset
|
648 endif |
8db5a297f243
Add support for a local settings file settings.mk
Volker Grabsch <vog@notjusthosting.com>
parents:
2475
diff
changeset
|
649 |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
650 .PHONY: all |
4194
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
651 all: |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
652 $(MAKE) prerequisites |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
653 $(MAKE) all-targets |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
654 |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
655 .PHONY: prerequisites |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
656 prerequisites: $(TOP_DIR)/configure Makefile $(CCACHE_LINKS_TARGET) |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
657 |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
658 .PHONY: ccache-links |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
659 ccache-links: |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
660 @echo "creating ccache links" |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
661 @mkdir -p usr/bin/ccache && \ |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
662 for f in gcc g++ gfortran; do \ |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
663 if test ! -e usr/bin/ccache/$(MXE_TOOL_PREFIX)$$f; then \ |
4854
990b5e6b1970
use AC_PATH_PROG to check for ccache; use result in ccache-links Makefile rule
John W. Eaton <jwe@octave.org>
parents:
4822
diff
changeset
|
664 ln -s "$(CCACHE)" usr/bin/ccache/$(MXE_TOOL_PREFIX)$$f; \ |
4194
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
665 fi; \ |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
666 done && \ |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
667 for f in gcc g++ gfortran; do \ |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
668 if test ! -e usr/bin/ccache/$$f; then \ |
4854
990b5e6b1970
use AC_PATH_PROG to check for ccache; use result in ccache-links Makefile rule
John W. Eaton <jwe@octave.org>
parents:
4822
diff
changeset
|
669 ln -s "$(CCACHE)" usr/bin/ccache/$$f; \ |
4194
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
670 fi; \ |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
671 done |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
672 |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
673 .PHONY: all-targets |
3dc897731d3b
new option to enable ccache
John W. Eaton <jwe@octave.org>
parents:
4193
diff
changeset
|
674 all-targets: $(OCTAVE_TARGET) |
3036
1427f8d3a0af
make octave be the default target; new target, all-packages
John W. Eaton <jwe@octave.org>
parents:
3031
diff
changeset
|
675 |
1427f8d3a0af
make octave be the default target; new target, all-packages
John W. Eaton <jwe@octave.org>
parents:
3031
diff
changeset
|
676 .PHONY: all-packages |
1427f8d3a0af
make octave be the default target; new target, all-packages
John W. Eaton <jwe@octave.org>
parents:
3031
diff
changeset
|
677 all-packages: $(PKGS) |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
678 |
4777
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
679 $(PKGS): $(BUILD_TOOLS) cmake-toolchain-file.stamp cmake-native-toolchain-file.stamp |
2971
7145a94e4f4e
build autoconf, automake, libtool, and cmake instead of expecting them to exist
John W. Eaton <jwe@octave.org>
parents:
2964
diff
changeset
|
680 |
2956 | 681 .PHONY: msys-base |
682 msys-base: $(MSYS_BASE_PACKAGES) | |
683 | |
3709
c8546fe79bc9
download src files for msys packages when building Windows zip file or installer
John W. Eaton <jwe@octave.org>
parents:
3708
diff
changeset
|
684 .PHONY: msys-base-sources |
c8546fe79bc9
download src files for msys packages when building Windows zip file or installer
John W. Eaton <jwe@octave.org>
parents:
3708
diff
changeset
|
685 msys-base-sources: $(MSYS_BASE_SOURCES) |
c8546fe79bc9
download src files for msys packages when building Windows zip file or installer
John W. Eaton <jwe@octave.org>
parents:
3708
diff
changeset
|
686 |
4793
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
687 define MSYS2_PKG_BUILD |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
688 cd '$(1)/' && \ |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
689 mkdir -p '$(3)' && \ |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
690 (tar cf $(3)/$($(PKG)_FILE) '.') && \ |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
691 (TMP="$(3)" \ |
5494
898c27394c57
Use python3 in scripts (bug #58689).
John Donoghue <john.donoghue@ieee.org>
parents:
5482
diff
changeset
|
692 $(PYTHON3) $(TOP_DIR)/tools/msys2-install.py --verbose --msys-dir="$(MSYS2_DIR)" "$(3)/$($(PKG)_FILE)") |
4793
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
693 endef |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
694 |
4822
14328ca36f61
Add MSYS2_PKG_UPDATE rule and use in msys2 packages
John Donoghue
parents:
4799
diff
changeset
|
695 define MSYS2_PKG_UPDATE |
14328ca36f61
Add MSYS2_PKG_UPDATE rule and use in msys2 packages
John Donoghue
parents:
4799
diff
changeset
|
696 $(WGET) -q -O- '$(MSYS2_URL)/' | \ |
5358
dad8270e96e2
msys2-mintty: update to v3.1.4-1
John Donoghue <john.donoghue@ieee.org>
parents:
5304
diff
changeset
|
697 $(GREP) $($(PKG)_NAME) | $(GREP) "$($(PKG)_FILTER)" | \ |
5841
a3c143ede8af
* Makefile.in: allow use of .tar.zst file checking in msys2 update
John Donoghue <john.donoghue@ieee.org>
parents:
5831
diff
changeset
|
698 $(SED) -n 's,.*href="$($(PKG)_NAME)-\(r\?[0-9][^-]*-[0-9]*\)-[^\.]*\.pkg\.tar.*,\1,p' | \ |
5265
a7bbb803f069
* Makefile.in: update urls and msys2 rules to go to repo.msys2.org
John Donoghue
parents:
5255
diff
changeset
|
699 $(SORT) -V | \ |
a7bbb803f069
* Makefile.in: update urls and msys2 rules to go to repo.msys2.org
John Donoghue
parents:
5255
diff
changeset
|
700 tail -1 |
4822
14328ca36f61
Add MSYS2_PKG_UPDATE rule and use in msys2 packages
John Donoghue
parents:
4799
diff
changeset
|
701 endef |
14328ca36f61
Add MSYS2_PKG_UPDATE rule and use in msys2 packages
John Donoghue
parents:
4799
diff
changeset
|
702 |
4793
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
703 .PHONY: msys2 |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
704 msys2: $(MSYS2_PACKAGES) |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
705 |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
706 .PHONY: msys2-sources |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
707 msys2-sources: $(MSYS2_SOURCES) |
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
708 |
2958
04791633efbc
Octave Forge package sources and build script
John W. Eaton <jwe@octave.org>
parents:
2956
diff
changeset
|
709 .PHONY: octave-forge-packages |
3740 | 710 octave-forge-packages: $(OCTAVE_FORGE_DEPS) $(OCTAVE_FORGE_PACKAGES) |
2958
04791633efbc
Octave Forge package sources and build script
John W. Eaton <jwe@octave.org>
parents:
2956
diff
changeset
|
711 |
5742
b532d40c63d8
Add Octave package biosig version 2.2.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
5696
diff
changeset
|
712 .PHONY: octave-other-packages |
b532d40c63d8
Add Octave package biosig version 2.2.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
5696
diff
changeset
|
713 octave-other-packages: $(OCTAVE_OTHER_PKG_DEPS) $(OCTAVE_OTHER_PACKAGES) |
b532d40c63d8
Add Octave package biosig version 2.2.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
5696
diff
changeset
|
714 |
3471
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3456
diff
changeset
|
715 .PHONY: blas-packages |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3456
diff
changeset
|
716 blas-packages: $(BLAS_PACKAGES) |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3456
diff
changeset
|
717 |
3958
ac3abcea55e8
Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3957
diff
changeset
|
718 .PHONY: devel-packages |
ac3abcea55e8
Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3957
diff
changeset
|
719 devel-packages: $(DEVEL_PACKAGES) |
ac3abcea55e8
Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3957
diff
changeset
|
720 |
4066 | 721 $(TOP_DIR)/configure: $(TOP_DIR)/configure.ac |
722 cd $(TOP_DIR) && autoconf | |
3050
5e8414a77b7d
rules to rebuild Makefile and configure
John W. Eaton <jwe@octave.org>
parents:
3049
diff
changeset
|
723 |
4066 | 724 config.status: $(TOP_DIR)/configure |
3050
5e8414a77b7d
rules to rebuild Makefile and configure
John W. Eaton <jwe@octave.org>
parents:
3049
diff
changeset
|
725 $(SHELL) ./config.status --recheck |
5e8414a77b7d
rules to rebuild Makefile and configure
John W. Eaton <jwe@octave.org>
parents:
3049
diff
changeset
|
726 |
4066 | 727 Makefile: $(TOP_DIR)/Makefile.in config.status |
3050
5e8414a77b7d
rules to rebuild Makefile and configure
John W. Eaton <jwe@octave.org>
parents:
3049
diff
changeset
|
728 $(SHELL) ./config.status Makefile |
5e8414a77b7d
rules to rebuild Makefile and configure
John W. Eaton <jwe@octave.org>
parents:
3049
diff
changeset
|
729 |
1398
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
730 .PHONY: check-requirements |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
731 define CHECK_REQUIREMENT |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
732 @if ! $(1) --help &>/dev/null; then \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
733 echo; \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
734 echo 'Missing requirement: $(1)'; \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
735 echo; \ |
2353
99516e73b368
Move doc/index.html -> index.html
Volker Grabsch <vog@notjusthosting.com>
parents:
2350
diff
changeset
|
736 echo 'Please have a look at "index.html" to ensure'; \ |
1398
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
737 echo 'that your system meets all requirements.'; \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
738 echo; \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
739 exit 1; \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
740 fi |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
741 |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
742 endef |
2287
e9eed43704a2
Check for required versions of Autoconf and Automake
Volker Grabsch <vog@notjusthosting.com>
parents:
2153
diff
changeset
|
743 define CHECK_REQUIREMENT_VERSION |
e9eed43704a2
Check for required versions of Autoconf and Automake
Volker Grabsch <vog@notjusthosting.com>
parents:
2153
diff
changeset
|
744 @if ! $(1) --version | head -1 | grep ' \($(2)\)$$' >/dev/null; then \ |
e9eed43704a2
Check for required versions of Autoconf and Automake
Volker Grabsch <vog@notjusthosting.com>
parents:
2153
diff
changeset
|
745 echo; \ |
e9eed43704a2
Check for required versions of Autoconf and Automake
Volker Grabsch <vog@notjusthosting.com>
parents:
2153
diff
changeset
|
746 echo 'Wrong version of requirement: $(1)'; \ |
e9eed43704a2
Check for required versions of Autoconf and Automake
Volker Grabsch <vog@notjusthosting.com>
parents:
2153
diff
changeset
|
747 echo; \ |
2353
99516e73b368
Move doc/index.html -> index.html
Volker Grabsch <vog@notjusthosting.com>
parents:
2350
diff
changeset
|
748 echo 'Please have a look at "index.html" to ensure'; \ |
2287
e9eed43704a2
Check for required versions of Autoconf and Automake
Volker Grabsch <vog@notjusthosting.com>
parents:
2153
diff
changeset
|
749 echo 'that your system meets all requirements.'; \ |
e9eed43704a2
Check for required versions of Autoconf and Automake
Volker Grabsch <vog@notjusthosting.com>
parents:
2153
diff
changeset
|
750 echo; \ |
e9eed43704a2
Check for required versions of Autoconf and Automake
Volker Grabsch <vog@notjusthosting.com>
parents:
2153
diff
changeset
|
751 exit 1; \ |
e9eed43704a2
Check for required versions of Autoconf and Automake
Volker Grabsch <vog@notjusthosting.com>
parents:
2153
diff
changeset
|
752 fi |
e9eed43704a2
Check for required versions of Autoconf and Automake
Volker Grabsch <vog@notjusthosting.com>
parents:
2153
diff
changeset
|
753 |
e9eed43704a2
Check for required versions of Autoconf and Automake
Volker Grabsch <vog@notjusthosting.com>
parents:
2153
diff
changeset
|
754 endef |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
755 check-requirements: $(STAMP_DIR)/check-requirements |
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
756 $(STAMP_DIR)/check-requirements: $(MAKEFILE) |
1398
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
757 @echo '[check requirements]' |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
758 $(foreach REQUIREMENT,$(REQUIREMENTS),$(call CHECK_REQUIREMENT,$(REQUIREMENT))) |
4240
724749afb8b5
Makefile.in: check if have version of octave and warn if cant find it (Bug #49503)
John D
parents:
4236
diff
changeset
|
759 ifneq ($(MXE_NATIVE_BUILD),yes) |
5531
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5495
diff
changeset
|
760 ifeq ($(USE_SYSTEM_OCTAVE),yes) |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5495
diff
changeset
|
761 ifeq ($(ENABLE_BINARY_PACKAGES),yes) |
4478 | 762 @if ! octave -W --version | head -1 | grep ' \($($(OCTAVE_TARGET)_VERSION)\)$$' >/dev/null; then \ |
5531
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5495
diff
changeset
|
763 echo "Warning - could not find native build version $($(OCTAVE_TARGET)_VERSION) of Octave - some packages may fail, but continuing"; \ |
4240
724749afb8b5
Makefile.in: check if have version of octave and warn if cant find it (Bug #49503)
John D
parents:
4236
diff
changeset
|
764 fi |
5531
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5495
diff
changeset
|
765 endif |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5495
diff
changeset
|
766 endif |
4240
724749afb8b5
Makefile.in: check if have version of octave and warn if cant find it (Bug #49503)
John D
parents:
4236
diff
changeset
|
767 endif |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
768 @[ -d '$(STAMP_DIR)' ] || mkdir -p '$(STAMP_DIR)' |
2997 | 769 @if test "$(USE_SYSTEM_GCC)" = yes; then \ |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
770 $(INSTALL) -d '$(BUILD_TOOLS_PREFIX)/bin' ; \ |
4066 | 771 $(INSTALL) -m 755 $(TOP_DIR)/tools/config.guess '$(BUILD_TOOLS_PREFIX)/bin/config.guess' ; \ |
772 $(INSTALL) -m 755 $(TOP_DIR)/tools/config.sub '$(BUILD_TOOLS_PREFIX)/bin/config.sub' ; \ | |
2997 | 773 fi |
1403
90d846d2b3c9
check requirements only at the first time and after each change to the main Makefile (which possibly changed the list of requirements)
Volker Grabsch <vog@notjusthosting.com>
parents:
1399
diff
changeset
|
774 @touch '$@' |
1398
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
775 |
2350
2691d175df4e
Improve performance of loading main Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
2349
diff
changeset
|
776 define newline |
2691d175df4e
Improve performance of loading main Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
2349
diff
changeset
|
777 |
2691d175df4e
Improve performance of loading main Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
2349
diff
changeset
|
778 |
2349
f48c5b085a38
Move $(PKG)_VERSION and $(PKG)_WEBSITE from src/*.mk into doc/index.html
Volker Grabsch <vog@notjusthosting.com>
parents:
2348
diff
changeset
|
779 endef |
f48c5b085a38
Move $(PKG)_VERSION and $(PKG)_WEBSITE from src/*.mk into doc/index.html
Volker Grabsch <vog@notjusthosting.com>
parents:
2348
diff
changeset
|
780 |
3048
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
781 include $(patsubst %,$(TOP_DIR)/src/%.mk,$(ALL_BUILD_TOOLS)) |
2375
2023ebb23822
Load only *.mk files of packages mentioned in index.html
Volker Grabsch <vog@notjusthosting.com>
parents:
2370
diff
changeset
|
782 include $(patsubst %,$(TOP_DIR)/src/%.mk,$(PKGS)) |
2346
8746e2f1c758
Improve coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
2345
diff
changeset
|
783 |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
784 .PHONY: download |
2971
7145a94e4f4e
build autoconf, automake, libtool, and cmake instead of expecting them to exist
John W. Eaton <jwe@octave.org>
parents:
2964
diff
changeset
|
785 download: $(addprefix download-,$(PKGS)) $(addprefix download-,$(BUILD_TOOLS)) |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
786 |
3292
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
787 GENERATE_DIR_FILE_LIST = \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
788 cd '$(1)' && find . -mindepth 1 -printf '%M %P\n' |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
789 |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
790 define GENERATE_FILE_LIST |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
791 [ -d '$(STAMP_DIR)' ] || mkdir -p '$(STAMP_DIR)'; \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
792 echo -n > '$(STAMP_DIR)/$(1).files'; \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
793 echo -n > '$(STAMP_DIR)/$(1).pkg'; \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
794 if [ -d '$(2)$(HOST_PREFIX)' ]; then \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
795 ($(call GENERATE_DIR_FILE_LIST,$(2)$(HOST_PREFIX))) >> '$(STAMP_DIR)/$(1).files'; \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
796 fi; \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
797 if [ "$(HOST_PREFIX)" != "$(CMAKE_HOST_PREFIX)" ] && [ -d '$(2)$(CMAKE_HOST_PREFIX)' ]; then \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
798 ($(call GENERATE_DIR_FILE_LIST,$(2)$(CMAKE_HOST_PREFIX))) >> '$(STAMP_DIR)/$(1).files'; \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
799 fi; \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
800 if [ -d '$(2)$(ROOT_PREFIX)' ]; then \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
801 ($(call GENERATE_DIR_FILE_LIST,$(2)$(ROOT_PREFIX))) >> '$(STAMP_DIR)/$(1).pkg'; \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
802 fi; \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
803 if [ "$(ROOT_PREFIX)" != "$(CMAKE_ROOT_PREFIX)" ] && [ -d '$(2)$(CMAKE_ROOT_PREFIX)' ]; then \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
804 ($(call GENERATE_DIR_FILE_LIST,$(2)$(CMAKE_ROOT_PREFIX))) >> '$(STAMP_DIR)/$(1).pkg'; \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
805 fi |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
806 endef |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
807 |
4172
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
808 define CREATE_PKG |
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
809 [ -d '$(BUILT_PKGS_DIR)' ] || mkdir -p '$(BUILT_PKGS_DIR)'; \ |
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
810 if [ -d '$(2)$(ROOT_PREFIX)' ]; then \ |
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
811 (cd '$(2)$(ROOT_PREFIX)' && tar caf '$(BUILT_PKGS_DIR)/$(1).tar.xz' .); \ |
3292
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
812 fi; \ |
4172
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
813 if [ "$(ROOT_PREFIX)" != "$(CMAKE_ROOT_PREFIX)" ] && [ -d '$(2)$(CMAKE_ROOT_PREFIX)' ]; then \ |
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
814 (cd '$(2)$(CMAKE_ROOT_PREFIX)' && tar caf '$(BUILT_PKGS_DIR)/$(1).tar.xz' .); \ |
3292
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
815 fi |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
816 endef |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
817 |
4172
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
818 define INSTALL_PKG_TO_DESTDIR |
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
819 (cd '$(ROOT_PREFIX)' && tar xaf '$(BUILT_PKGS_DIR)/$(1).tar.xz') |
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
820 endef |
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
821 |
3853
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
822 define OCTAVE_FORGE_PKG_COMPILE |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
823 if [ -d '$(1)/src' ]; then \ |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
824 if [ -f '$(1)/src/configure' ]; then \ |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
825 cd '$(1)/src' && ./configure $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \ |
3854 | 826 $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) MKOCTFILE='$(MXE_MKOCTFILE)' \ |
3858
9ceedf18871e
use OCTAVE_CONFIG as octave-config variable name
John Donoghue <john.donoghue@ieee.org>
parents:
3854
diff
changeset
|
827 OCTAVE_CONFIG='$(MXE_OCTAVECONFIG)' \ |
3853
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
828 $(4); \ |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
829 fi; \ |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
830 if [ -f '$(1)/src/Makefile' ]; then \ |
3854 | 831 $(MAKE) -C '$(1)/src' MKOCTFILE='$(MXE_MKOCTFILE) --verbose' \ |
3930
ae627bc6131b
Stop build on failure to create binary package
John Donoghue <john.donoghue@ieee.org>
parents:
3923
diff
changeset
|
832 OCTAVE_CONFIG='$(MXE_OCTAVECONFIG)' || exit 1; \ |
3923
160c1a23560c
binary-packages: remove Makefile and configure from src folder after build
John Donoghue <john.donoghue@ieee.org>
parents:
3921
diff
changeset
|
833 rm -f $(1)/src/Makefile; \ |
3853
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
834 fi; \ |
3923
160c1a23560c
binary-packages: remove Makefile and configure from src folder after build
John Donoghue <john.donoghue@ieee.org>
parents:
3921
diff
changeset
|
835 if [ -f '$(1)/src/configure' ]; then \ |
160c1a23560c
binary-packages: remove Makefile and configure from src folder after build
John Donoghue <john.donoghue@ieee.org>
parents:
3921
diff
changeset
|
836 rm -f $(1)/src/configure; \ |
160c1a23560c
binary-packages: remove Makefile and configure from src folder after build
John Donoghue <john.donoghue@ieee.org>
parents:
3921
diff
changeset
|
837 fi; \ |
160c1a23560c
binary-packages: remove Makefile and configure from src folder after build
John Donoghue <john.donoghue@ieee.org>
parents:
3921
diff
changeset
|
838 find '$(1)/src' -type f -name "*.o" -exec rm -f {} \; ; \ |
3853
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
839 fi |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
840 endef |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
841 |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
842 define OCTAVE_FORGE_PKG_BUILD_NOCOMPILE |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
843 mkdir -p '$(3)$(HOST_PREFIX)/src' |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
844 cd '$(1)/..' \ |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
845 && tar cvfz $($(PKG)_FILE) $($(PKG)_SUBDIR) \ |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
846 && $(INSTALL) -m644 '$($(PKG)_FILE)' '$(3)$(HOST_PREFIX)/src' |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
847 endef |
58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
John Donoghue
parents:
3851
diff
changeset
|
848 |
5742
b532d40c63d8
Add Octave package biosig version 2.2.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
5696
diff
changeset
|
849 # FIXME: The OCTAVE_FORGE_PKG_BUILD build rule probably works for *any* valid |
b532d40c63d8
Add Octave package biosig version 2.2.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
5696
diff
changeset
|
850 # Octave package (not only Octave Forge packages). Consider renaming it. |
3345
290e049823c9
Octave-forge pks: support file listing and pre-compilation (for MSVC).
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3336
diff
changeset
|
851 ifeq ($(MXE_SYSTEM),msvc) |
5742
b532d40c63d8
Add Octave package biosig version 2.2.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
5696
diff
changeset
|
852 define OCTAVE_FORGE_PKG_BUILD |
3345
290e049823c9
Octave-forge pks: support file listing and pre-compilation (for MSVC).
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3336
diff
changeset
|
853 $(INSTALL) -d '$(3)$(HOST_PREFIX)/local/octave-$(octave_VERSION)/share/octave' |
290e049823c9
Octave-forge pks: support file listing and pre-compilation (for MSVC).
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3336
diff
changeset
|
854 $(INSTALL) -d '$(3)$(HOST_PREFIX)/local/octave-$(octave_VERSION)/lib/octave' |
290e049823c9
Octave-forge pks: support file listing and pre-compilation (for MSVC).
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3336
diff
changeset
|
855 cd '$(1)/..' && tar cvfz $($(PKG)_FILE) $($(PKG)_SUBDIR) |
290e049823c9
Octave-forge pks: support file listing and pre-compilation (for MSVC).
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3336
diff
changeset
|
856 cd '$(1)/..' && $(HOST_PREFIX)/local/octave-$(octave_VERSION)/bin/octave-cli.exe -H -f -q \ |
5742
b532d40c63d8
Add Octave package biosig version 2.2.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
5696
diff
changeset
|
857 --eval "more off;" \ |
b532d40c63d8
Add Octave package biosig version 2.2.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
5696
diff
changeset
|
858 --eval "pkg('prefix', '`cd "$(3)" && pwd -W`$(HOST_PREFIX)/local/octave-$(octave_VERSION)/share/octave/packages', '`cd "$(3)" && pwd -W`$(HOST_PREFIX)/local/octave-$(octave_VERSION)/lib/octave/packages');" \ |
b532d40c63d8
Add Octave package biosig version 2.2.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
5696
diff
changeset
|
859 --eval "pkg('install', '-verbose', '$($(PKG)_FILE)');" |
3345
290e049823c9
Octave-forge pks: support file listing and pre-compilation (for MSVC).
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3336
diff
changeset
|
860 endef |
290e049823c9
Octave-forge pks: support file listing and pre-compilation (for MSVC).
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3336
diff
changeset
|
861 else |
5742
b532d40c63d8
Add Octave package biosig version 2.2.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
5696
diff
changeset
|
862 define OCTAVE_FORGE_PKG_BUILD |
4067
bdcddfdc57d0
Install binary of-* packages
John Donoghue <john.donoghue@ieee.org>
parents:
4066
diff
changeset
|
863 if [ $(ENABLE_BINARY_PACKAGES) = no ]; then \ |
bdcddfdc57d0
Install binary of-* packages
John Donoghue <john.donoghue@ieee.org>
parents:
4066
diff
changeset
|
864 mkdir -p '$(3)$(HOST_PREFIX)/src'; \ |
bdcddfdc57d0
Install binary of-* packages
John Donoghue <john.donoghue@ieee.org>
parents:
4066
diff
changeset
|
865 cd '$(1)/..' \ |
bdcddfdc57d0
Install binary of-* packages
John Donoghue <john.donoghue@ieee.org>
parents:
4066
diff
changeset
|
866 && tar cvfz $($(PKG)_FILE) $($(PKG)_SUBDIR) \ |
bdcddfdc57d0
Install binary of-* packages
John Donoghue <john.donoghue@ieee.org>
parents:
4066
diff
changeset
|
867 && $(INSTALL) -m644 '$($(PKG)_FILE)' '$(3)$(HOST_PREFIX)/src'; \ |
bdcddfdc57d0
Install binary of-* packages
John Donoghue <john.donoghue@ieee.org>
parents:
4066
diff
changeset
|
868 else \ |
bdcddfdc57d0
Install binary of-* packages
John Donoghue <john.donoghue@ieee.org>
parents:
4066
diff
changeset
|
869 cd '$(1)/..' && \ |
bdcddfdc57d0
Install binary of-* packages
John Donoghue <john.donoghue@ieee.org>
parents:
4066
diff
changeset
|
870 tar cfz $($(PKG)_FILE) $($(PKG)_SUBDIR) && \ |
4533
f3fb203b6fca
Makefile.in: Also set CPPFLAGS and LDFLAGS in the environemt for pkg-install.py
John W. Eaton <jwe@octave.org>
parents:
4488
diff
changeset
|
871 OCTAVE_CONFIG=$(MXE_OCTAVECONFIG) TMP="$(1)/.." \ |
f3fb203b6fca
Makefile.in: Also set CPPFLAGS and LDFLAGS in the environemt for pkg-install.py
John W. Eaton <jwe@octave.org>
parents:
4488
diff
changeset
|
872 $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \ |
f3fb203b6fca
Makefile.in: Also set CPPFLAGS and LDFLAGS in the environemt for pkg-install.py
John W. Eaton <jwe@octave.org>
parents:
4488
diff
changeset
|
873 MKOCTFILE=$(MXE_MKOCTFILE) MAKE=$(MAKE) \ |
f3fb203b6fca
Makefile.in: Also set CPPFLAGS and LDFLAGS in the environemt for pkg-install.py
John W. Eaton <jwe@octave.org>
parents:
4488
diff
changeset
|
874 CONFIGURE_OPTIONS="$(HOST_AND_BUILD_CONFIGURE_OPTIONS)" $(4) \ |
5494
898c27394c57
Use python3 in scripts (bug #58689).
John Donoghue <john.donoghue@ieee.org>
parents:
5482
diff
changeset
|
875 $(PYTHON3) $(TOP_DIR)/tools/pkg-install.py install -verbose "$($(PKG)_FILE)"; \ |
4067
bdcddfdc57d0
Install binary of-* packages
John Donoghue <john.donoghue@ieee.org>
parents:
4066
diff
changeset
|
876 fi |
5742
b532d40c63d8
Add Octave package biosig version 2.2.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
5696
diff
changeset
|
877 endef |
3345
290e049823c9
Octave-forge pks: support file listing and pre-compilation (for MSVC).
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3336
diff
changeset
|
878 endif |
290e049823c9
Octave-forge pks: support file listing and pre-compilation (for MSVC).
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3336
diff
changeset
|
879 |
4543
7d1e45c2f175
update: more PKG_UPDATE updates, added update-octaveforge target
John D
parents:
4542
diff
changeset
|
880 define OCTAVE_FORGE_PKG_UPDATE |
7d1e45c2f175
update: more PKG_UPDATE updates, added update-octaveforge target
John D
parents:
4542
diff
changeset
|
881 $(WGET) -q -O- 'https://sourceforge.net/projects/octave/files/Octave%20Forge%20Packages/Individual%20Package%20Releases/' | \ |
7d1e45c2f175
update: more PKG_UPDATE updates, added update-octaveforge target
John D
parents:
4542
diff
changeset
|
882 $(SED) -n 's,.*title="$(subst of-,,$(PKG))-\([0-9][^"]*\).tar.gz".*,\1,p' | \ |
7d1e45c2f175
update: more PKG_UPDATE updates, added update-octaveforge target
John D
parents:
4542
diff
changeset
|
883 head -1 |
7d1e45c2f175
update: more PKG_UPDATE updates, added update-octaveforge target
John D
parents:
4542
diff
changeset
|
884 endef |
7d1e45c2f175
update: more PKG_UPDATE updates, added update-octaveforge target
John D
parents:
4542
diff
changeset
|
885 |
4603
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
886 define PREPARE_PKG_SOURCE |
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
887 ( cd '$(2)' && $(call UNPACK_PKG_ARCHIVE,$(1),$(TAR)) ) || \ |
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
888 $(if $(TAR2), \ |
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
889 ( rm -rf '$(2)'; mkdir -p '$(2)'; \ |
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
890 cd '$(2)' && $(call UNPACK_PKG_ARCHIVE,$(1),$(TAR2)) ), \ |
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
891 false ) |
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
892 test ! -d '$(TOP_DIR)/src/$(1)' || cp -a '$(TOP_DIR)/src/$(1)' '$(2)' |
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
893 cd '$(2)/$($(1)_SUBDIR)' |
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
894 $(foreach PKG_PATCH,$(sort $(wildcard $(TOP_DIR)/src/$(1)-*.patch)), |
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
895 (cd '$(2)/$($(1)_SUBDIR)' && $(PATCH) -p1 -u) < $(PKG_PATCH)) |
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
896 $(foreach PKG_PATCH,$(sort $(wildcard $(TOP_DIR)/src/$(MXE_SYSTEM)-$(1)-*.patch)), |
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
897 (cd '$(2)/$($(1)_SUBDIR)' && $(PATCH) -p1 -u) < $(PKG_PATCH)) |
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
898 endef |
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
899 |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
900 define PKG_RULE |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
901 .PHONY: download-$(1) |
4760
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
902 .PHONY: download-$($(1)_FILE) |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
903 download-$(1): download-$($(1)_FILE) |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
904 download-$($(1)_FILE):: |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
905 $(and $($(1)_URL), |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
906 @$$(if $$(REMOVE_DOWNLOAD),rm -f '$(PKG_DIR)/$($(1)_FILE)') |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
907 @if ! $(call CHECK_PKG_ARCHIVE,$(1)); then \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
908 echo '[download]' '$($(1)_FILE)'; \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
909 [ -d '$(LOG_DIR)/$(TIMESTAMP)' ] || mkdir -p '$(LOG_DIR)/$(TIMESTAMP)'; \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
910 ($(call DOWNLOAD_PKG_ARCHIVE,$(1))) &> '$(LOG_DIR)/$(TIMESTAMP)/$(1)-download'; \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
911 grep 'MXE Warning' '$(LOG_DIR)/$(TIMESTAMP)/$(1)-download'; \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
912 ln -sf '$(TIMESTAMP)/$(1)-download' '$(LOG_DIR)/$(1)-download'; \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
913 if ! $(call CHECK_PKG_ARCHIVE,$(1)); then \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
914 echo; \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
915 echo 'Download failed or wrong checksum of package $(1)!'; \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
916 echo '------------------------------------------------------------'; \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
917 $(if $(findstring undefined, $(origin MXE_VERBOSE)),\ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
918 tail -n 10 '$(LOG_DIR)/$(1)-download' | $(SED) -n '/./p';, \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
919 $(SED) -n '/./p' '$(LOG_DIR)/$(1)-download';) \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
920 echo '------------------------------------------------------------'; \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
921 echo '[log] $(LOG_DIR)/$(1)-download'; \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
922 echo; \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
923 exit 1; \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
924 fi; \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
925 fi) |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
926 |
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
927 .PHONY: $(1) |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
928 $(1): $(STAMP_DIR)/$(1) |
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
929 $(STAMP_DIR)/$(1): $(TOP_DIR)/src/$(1).mk \ |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
930 $(wildcard $(TOP_DIR)/src/$(1)-*.patch) \ |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
931 $(wildcard $(TOP_DIR)/src/$(MXE_SYSTEM)-$(1)-*.patch) \ |
778
f8c2ff4cf740
bugfix: add test scripts as dependency files, and put them into the distribution tarball
Volker Grabsch <vog@notjusthosting.com>
parents:
738
diff
changeset
|
932 $(wildcard $(TOP_DIR)/src/$(1)-test*) \ |
3061
f8299bb6c872
Initial support for native MSVC compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3050
diff
changeset
|
933 $(shell test -d $(TOPDIR)/src/$(1) && find $(TOPDIR)/src/$(1) -type f) \ |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
934 $(addprefix $(STAMP_DIR)/,$($(1)_DEPS)) \ |
4760
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
935 | check-requirements \ |
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
936 $(addprefix download-,$(1)) |
434
7fdb6628d83a
improved output: don't show "[build]" for download-only packages
Volker Grabsch <vog@notjusthosting.com>
parents:
431
diff
changeset
|
937 $(if $(value $(1)_BUILD), |
7fdb6628d83a
improved output: don't show "[build]" for download-only packages
Volker Grabsch <vog@notjusthosting.com>
parents:
431
diff
changeset
|
938 @echo '[build] $(1)' |
7fdb6628d83a
improved output: don't show "[build]" for download-only packages
Volker Grabsch <vog@notjusthosting.com>
parents:
431
diff
changeset
|
939 ,) |
4760
3f4bda7a6373
make downloads work again after changeset 36b2178e7475
John W. Eaton <jwe@octave.org>
parents:
4758
diff
changeset
|
940 @[ -d '$(LOG_DIR)/$(TIMESTAMP)' ] || mkdir -p '$(LOG_DIR)/$(TIMESTAMP)' |
1396
296b81e392cf
portability fix for MSYS
Volker Grabsch <vog@notjusthosting.com>
parents:
1296
diff
changeset
|
941 @touch '$(LOG_DIR)/$(TIMESTAMP)/$(1)' |
1397
b33871ee26a3
improved coding style: make use of the "-f" option of "ln"
Volker Grabsch <vog@notjusthosting.com>
parents:
1396
diff
changeset
|
942 @ln -sf '$(TIMESTAMP)/$(1)' '$(LOG_DIR)/$(1)' |
3003
7d692ab680ab
Change makefile download and build rules to log to symbolic link file instead of log/timestamp/file.
John Donoghue <john.donoghue@ieee.org>
parents:
2997
diff
changeset
|
943 @if ! (time $(MAKE) -f '$(MAKEFILE)' 'build-only-$(1)') &> '$(LOG_DIR)/$(1)'; then \ |
431
e77981de8c92
highlevel output of the download/build process, put also download actions into the log file
Volker Grabsch <vog@notjusthosting.com>
parents:
430
diff
changeset
|
944 echo; \ |
e77981de8c92
highlevel output of the download/build process, put also download actions into the log file
Volker Grabsch <vog@notjusthosting.com>
parents:
430
diff
changeset
|
945 echo 'Failed to build package $(1)!'; \ |
e77981de8c92
highlevel output of the download/build process, put also download actions into the log file
Volker Grabsch <vog@notjusthosting.com>
parents:
430
diff
changeset
|
946 echo '------------------------------------------------------------'; \ |
5482
10d9403ec6bc
Show longer tail of the package build log on build errors.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5358
diff
changeset
|
947 tail -n 30 '$(LOG_DIR)/$(1)' | $(SED) -n '/./p'; \ |
431
e77981de8c92
highlevel output of the download/build process, put also download actions into the log file
Volker Grabsch <vog@notjusthosting.com>
parents:
430
diff
changeset
|
948 echo '------------------------------------------------------------'; \ |
594
2a325441b1ab
put log files into a separate sub directory log/, separate from usr/, surviving a "make clean"
Volker Grabsch <vog@notjusthosting.com>
parents:
593
diff
changeset
|
949 echo '[log] $(LOG_DIR)/$(1)'; \ |
431
e77981de8c92
highlevel output of the download/build process, put also download actions into the log file
Volker Grabsch <vog@notjusthosting.com>
parents:
430
diff
changeset
|
950 echo; \ |
e77981de8c92
highlevel output of the download/build process, put also download actions into the log file
Volker Grabsch <vog@notjusthosting.com>
parents:
430
diff
changeset
|
951 exit 1; \ |
e77981de8c92
highlevel output of the download/build process, put also download actions into the log file
Volker Grabsch <vog@notjusthosting.com>
parents:
430
diff
changeset
|
952 fi |
435
80c86e6f7ca6
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
434
diff
changeset
|
953 @echo '[done] $(1)' |
428
951e2a6d1e69
create a separate build log file "usr/log-PKG" for each package build
Volker Grabsch <vog@notjusthosting.com>
parents:
427
diff
changeset
|
954 |
951e2a6d1e69
create a separate build log file "usr/log-PKG" for each package build
Volker Grabsch <vog@notjusthosting.com>
parents:
427
diff
changeset
|
955 .PHONY: build-only-$(1) |
2742
9276054dea28
Makefile: pass PKG variable to build rules
Tony Theodore <tonyt@logyst.com>
parents:
2730
diff
changeset
|
956 build-only-$(1): PKG = $(1) |
428
951e2a6d1e69
create a separate build log file "usr/log-PKG" for each package build
Volker Grabsch <vog@notjusthosting.com>
parents:
427
diff
changeset
|
957 build-only-$(1): |
214
e1c566cd7a5e
allow packages without a BUILD section (This will be used for download-only packages such as gcc-g++.)
Volker Grabsch <vog@notjusthosting.com>
parents:
213
diff
changeset
|
958 $(if $(value $(1)_BUILD), |
3292
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
959 rm -rf '$(2)' '$(2)-install' |
214
e1c566cd7a5e
allow packages without a BUILD section (This will be used for download-only packages such as gcc-g++.)
Volker Grabsch <vog@notjusthosting.com>
parents:
213
diff
changeset
|
960 mkdir -p '$(2)' |
4603
7d0053d163db
split archive unpacking and patching into separate macro
John W. Eaton <jwe@octave.org>
parents:
4590
diff
changeset
|
961 $$(call PREPARE_PKG_SOURCE,$(1),$(2)) |
3292
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
962 $$(call $(1)_BUILD,$(2)/$($(1)_SUBDIR),$(TOP_DIR)/src/$(1)-test,$(2)-install) |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
963 if [ -d '$(2)-install' ]; then \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
964 $(call GENERATE_FILE_LIST,$(1),$(2)-install); \ |
4172
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
965 $(call CREATE_PKG,$(1),$(2)-install); \ |
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
966 $(call INSTALL_PKG_TO_DESTDIR,$(1),$(2)-install); \ |
3292
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
967 (du -k -d 0 '$(2)-install' 2>/dev/null || du -k --max-depth 0 '$(2)-install') | \ |
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
968 $(SED) -n 's/^\(\S*\).*/du: \1 KiB/p'; \ |
4172
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
969 [ '$(KEEP_BUILD)' = '1' ] || rm -rfv '$(2)-install'; \ |
3292
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
970 fi |
1979
9e3cc5c56804
log the total disk usage of the temporary build directory after each successful build
Volker Grabsch <vog@notjusthosting.com>
parents:
1847
diff
changeset
|
971 (du -k -d 0 '$(2)' 2>/dev/null || du -k --max-depth 0 '$(2)') | $(SED) -n 's/^\(\S*\).*/du: \1 KiB/p' |
3325
64f9dbe1d7e7
* Makefile.in: Add KEEP_BUILD variable to keep tmp dirs after build.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3311
diff
changeset
|
972 [ '$(KEEP_BUILD)' = '1' ] || rm -rfv '$(2)' |
214
e1c566cd7a5e
allow packages without a BUILD section (This will be used for download-only packages such as gcc-g++.)
Volker Grabsch <vog@notjusthosting.com>
parents:
213
diff
changeset
|
973 ,) |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
974 [ -d '$(STAMP_DIR)' ] || mkdir -p '$(STAMP_DIR)' |
3292
fda357ce9f64
* Makefile.in: Generate files list, when supported by the module.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3286
diff
changeset
|
975 echo $($(1)_VERSION) > '$(STAMP_DIR)/$(1)' |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
976 endef |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
977 $(foreach PKG,$(PKGS),$(eval $(call PKG_RULE,$(PKG),$(call TMP_DIR,$(PKG))))) |
2971
7145a94e4f4e
build autoconf, automake, libtool, and cmake instead of expecting them to exist
John W. Eaton <jwe@octave.org>
parents:
2964
diff
changeset
|
978 $(foreach TOOL,$(BUILD_TOOLS),$(eval $(call PKG_RULE,$(TOOL),$(call TMP_DIR,$(TOOL))))) |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
979 |
119
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
980 .PHONY: clean |
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
981 clean: |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
982 rm -rf $(call TMP_DIR,*) $(BUILD_TOOLS_PREFIX) |
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
983 rm -rf $(STAMP_DIR) $(MSYS_INFO_DIR) $(LOG_DIR) |
3844 | 984 rm -rf $(MSYS_BASE_DIR) $(MSYS_EXTENSION_DIR) $(NOTEPAD_BASE_DIR) |
4793
202fa20cf559
add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents:
4783
diff
changeset
|
985 rm -rf $(MSYS2_DIR) |
5206
ac4cae18895f
Allow update of msys2 files from single download of packages file
John Donoghue
parents:
5062
diff
changeset
|
986 rm -f $(MSYS2_UPDATE_TMP_FILE) |
3012
100e618349f7
Improve handling of prefix directories by defining HOST_PREFIX and
John W. Eaton <jwe@octave.org>
parents:
3009
diff
changeset
|
987 rm -rf native-tools cross-tools octave gnuplot |
4783
0aaa238c8820
Remove cmake-native-toolchain-file.stamp on "make clean".
Markus Mützel <markus.muetzel@gmx.de>
parents:
4777
diff
changeset
|
988 rm -f Makefile cmake-toolchain-file.stamp cmake-native-toolchain-file.stamp |
3429
6cf5d50556d4
* tools/set-mxe-env.sh.in: Rename from tools/set_mxe_env.sh.in.
John W. Eaton <jwe@octave.org>
parents:
3426
diff
changeset
|
989 rm -f tools/set-mxe-env.sh |
119
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
990 |
4172
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
991 .PHONY: realclean |
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
992 realclean: clean |
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
993 rm -rf $(BUILT_PKGS_DIR) |
4117faf76988
default-octave-1-inttypes.patch: Remove obsolete patch file.
John W. Eaton <jwe@octave.org>
parents:
4170
diff
changeset
|
994 |
226
c07a36f3ea80
new target "make clean-pkg" to remove all unused package files (handy after a successful "make update")
Volker Grabsch <vog@notjusthosting.com>
parents:
215
diff
changeset
|
995 .PHONY: clean-pkg |
c07a36f3ea80
new target "make clean-pkg" to remove all unused package files (handy after a successful "make update")
Volker Grabsch <vog@notjusthosting.com>
parents:
215
diff
changeset
|
996 clean-pkg: |
c07a36f3ea80
new target "make clean-pkg" to remove all unused package files (handy after a successful "make update")
Volker Grabsch <vog@notjusthosting.com>
parents:
215
diff
changeset
|
997 rm -f $(patsubst %,'%', \ |
c07a36f3ea80
new target "make clean-pkg" to remove all unused package files (handy after a successful "make update")
Volker Grabsch <vog@notjusthosting.com>
parents:
215
diff
changeset
|
998 $(filter-out \ |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
999 $(foreach PKG,$(PKGS),$(PKG_DIR)/$($(PKG)_FILE)), \ |
226
c07a36f3ea80
new target "make clean-pkg" to remove all unused package files (handy after a successful "make update")
Volker Grabsch <vog@notjusthosting.com>
parents:
215
diff
changeset
|
1000 $(wildcard $(PKG_DIR)/*))) |
c07a36f3ea80
new target "make clean-pkg" to remove all unused package files (handy after a successful "make update")
Volker Grabsch <vog@notjusthosting.com>
parents:
215
diff
changeset
|
1001 |
119
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
1002 .PHONY: update |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
1003 define UPDATE |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
1004 $(if $(2), |
448
e9afec55fd6b
improved version recognition, enable the notation of ignored (bad) package versions
Volker Grabsch <vog@notjusthosting.com>
parents:
443
diff
changeset
|
1005 $(if $(filter $(2),$($(1)_IGNORE)), |
461
c489fb1015e2
improved output style of "make update" again
Volker Grabsch <vog@notjusthosting.com>
parents:
454
diff
changeset
|
1006 $(info IGNORED $(1) $(2)), |
448
e9afec55fd6b
improved version recognition, enable the notation of ignored (bad) package versions
Volker Grabsch <vog@notjusthosting.com>
parents:
443
diff
changeset
|
1007 $(if $(filter $(2),$($(1)_VERSION)), |
461
c489fb1015e2
improved output style of "make update" again
Volker Grabsch <vog@notjusthosting.com>
parents:
454
diff
changeset
|
1008 $(info . $(1) $(2)), |
477
ffca44340844
improved output of "make update"
Volker Grabsch <vog@notjusthosting.com>
parents:
473
diff
changeset
|
1009 $(info NEW $(1) $($(1)_VERSION) --> $(2)) |
3480
13be64f9f16d
move version info from index.html to src/*.mk files
John W. Eaton <jwe@octave.org>
parents:
3476
diff
changeset
|
1010 $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $(2)/' '$(TOP_DIR)/src/$(1).mk' |
517
80db96994441
improved "make update": revert a package's version number when there were download problem with the new version
Volker Grabsch <vog@notjusthosting.com>
parents:
511
diff
changeset
|
1011 $(MAKE) -f '$(MAKEFILE)' 'update-checksum-$(1)' \ |
3480
13be64f9f16d
move version info from index.html to src/*.mk files
John W. Eaton <jwe@octave.org>
parents:
3476
diff
changeset
|
1012 || { $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $($(1)_VERSION)/' '$(TOP_DIR)/src/$(1).mk'; \ |
519
99a330c048df
bugfix for "make update": avoid silent package update failures
Volker Grabsch <vog@notjusthosting.com>
parents:
517
diff
changeset
|
1013 exit 1; })), |
560
185e73877b08
improved error message for "make update"
Volker Grabsch <vog@notjusthosting.com>
parents:
545
diff
changeset
|
1014 $(error Unable to update version number of package $(1))) |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
1015 |
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
1016 endef |
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
1017 update: |
4618
de2eedecd6ba
update broken PKG_UPDATE rules, handle missing update rules
John Donoghue
parents:
4610
diff
changeset
|
1018 $(foreach PKG,$(PKGS),\ |
de2eedecd6ba
update broken PKG_UPDATE rules, handle missing update rules
John Donoghue
parents:
4610
diff
changeset
|
1019 $(if $($(PKG)_UPDATE),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE))),$(info Warning: No update rule for $(PKG)))) |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
1020 |
4543
7d1e45c2f175
update: more PKG_UPDATE updates, added update-octaveforge target
John D
parents:
4542
diff
changeset
|
1021 .PHONY: update-octaveforge |
7d1e45c2f175
update: more PKG_UPDATE updates, added update-octaveforge target
John D
parents:
4542
diff
changeset
|
1022 update-octaveforge: |
7d1e45c2f175
update: more PKG_UPDATE updates, added update-octaveforge target
John D
parents:
4542
diff
changeset
|
1023 $(foreach PKG,$(OCTAVE_FORGE_PACKAGES),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE)))) |
7d1e45c2f175
update: more PKG_UPDATE updates, added update-octaveforge target
John D
parents:
4542
diff
changeset
|
1024 |
4545
0e56fe2d2ef5
Makefile.in: add update-build-tools target
John Donoghue <john.donoghue@ieee.org>
parents:
4543
diff
changeset
|
1025 .PHONY: update-build-tools |
0e56fe2d2ef5
Makefile.in: add update-build-tools target
John Donoghue <john.donoghue@ieee.org>
parents:
4543
diff
changeset
|
1026 update-build-tools: |
0e56fe2d2ef5
Makefile.in: add update-build-tools target
John Donoghue <john.donoghue@ieee.org>
parents:
4543
diff
changeset
|
1027 $(foreach PKG,$(BUILD_TOOLS),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE)))) |
0e56fe2d2ef5
Makefile.in: add update-build-tools target
John Donoghue <john.donoghue@ieee.org>
parents:
4543
diff
changeset
|
1028 |
5684
68a21078c2c5
* Makefile.in: added a update-general-pkgs rule
John Donoghue <john.donoghue@ieee.org>
parents:
5571
diff
changeset
|
1029 .PHONY: update-general-pkgs |
68a21078c2c5
* Makefile.in: added a update-general-pkgs rule
John Donoghue <john.donoghue@ieee.org>
parents:
5571
diff
changeset
|
1030 update-general-pkgs: |
68a21078c2c5
* Makefile.in: added a update-general-pkgs rule
John Donoghue <john.donoghue@ieee.org>
parents:
5571
diff
changeset
|
1031 $(foreach PKG,$(filter-out $(MSYS2_PACKAGES) $(MSYS_BASE_PACKAGES) $(OCTAVE_FORGE_PACKAGES), $(PKGS)),\ |
68a21078c2c5
* Makefile.in: added a update-general-pkgs rule
John Donoghue <john.donoghue@ieee.org>
parents:
5571
diff
changeset
|
1032 $(if $($(PKG)_UPDATE),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE))),$(info Warning: No update rule for $(PKG)))) |
68a21078c2c5
* Makefile.in: added a update-general-pkgs rule
John Donoghue <john.donoghue@ieee.org>
parents:
5571
diff
changeset
|
1033 |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
1034 update-checksum-%: |
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
1035 $(call DOWNLOAD_PKG_ARCHIVE,$*) |
2348
5ada143a0517
Improve coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
2346
diff
changeset
|
1036 $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1 '"`$(call PKG_CHECKSUM,$*)`"'/' '$(TOP_DIR)/src/$*.mk' |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
1037 |
5206
ac4cae18895f
Allow update of msys2 files from single download of packages file
John Donoghue
parents:
5062
diff
changeset
|
1038 .PHONY: update-msys2 update-msys2-filelist |
4920
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1039 PKG_MK_CHECKSUM = \ |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1040 $(GREP) _CHECKSUM '$(TOP_DIR)/src/$(1).mk' 2>/dev/null | $(SED) -n 's,^.*\([0-9a-f]\{40\}\)$$,\1,p' |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1041 define MSYS2_UPDATE |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1042 $(if $(2), |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1043 $(if $(filter $(2),$($(1)_IGNORE)), |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1044 $(info IGNORED $(1) $(2)), |
5062 | 1045 $(if $(filter $(2),$($(1)_VERSION)), |
4920
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1046 $(info . $(1) $(2)), |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1047 $(info NEW $(1) $($(1)_VERSION) --> $(2)) |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1048 $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $(2)/' '$(TOP_DIR)/src/$(1).mk' |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1049 $(SED) -i 's/^\([^ ]*_i686_CS *:=\).*/\1/' '$(TOP_DIR)/src/$(1).mk' |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1050 $(SED) -i 's/^\([^ ]*_x86_64_CS *:=\).*/\1/' '$(TOP_DIR)/src/$(1).mk' |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1051 $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1/' '$(TOP_DIR)/src/$(1).mk' |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1052 MSYS2_ARCH=x86_64 $(MAKE) -f '$(MAKEFILE)' 'update-checksum-$(1)' \ |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1053 || { $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $($(1)_VERSION)/' '$(TOP_DIR)/src/$(1).mk'; \ |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1054 $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1 $$($$(PKG)_CS)/' '$(TOP_DIR)/src/$(1).mk'; \ |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1055 $(SED) -i 's/^\([^ ]*_i686_CS *:=\).*/\1 $($(1)_i686_CS)' '$(TOP_DIR)/src/$(1).mk'; \ |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1056 $(SED) -i 's/^\([^ ]*_x86_64_CS *:=\).*/\1 $($(1)_x86_64_CS)' '$(TOP_DIR)/src/$(1).mk'; \ |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1057 exit 1; } |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1058 $(SED) -i 's/^\([^ ]*_x86_64_CS *:=\).*/\1 '"`$(call PKG_MK_CHECKSUM,$(1))`"'/' '$(TOP_DIR)/src/$(1).mk' |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1059 $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1/' '$(TOP_DIR)/src/$(1).mk' |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1060 MSYS2_ARCH=i686 $(MAKE) -f '$(MAKEFILE)' 'update-checksum-$(1)' \ |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1061 || { $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $($(1)_VERSION)/' '$(TOP_DIR)/src/$(1).mk'; \ |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1062 $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1 $$($$(PKG)_CS)/' '$(TOP_DIR)/src/$(1).mk'; \ |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1063 $(SED) -i 's/^\([^ ]*_i686_CS *:=\).*/\1 $($(1)_i686_CS)' '$(TOP_DIR)/src/$(1).mk'; \ |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1064 exit 1; } |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1065 $(SED) -i 's/^\([^ ]*_i686_CS *:=\).*/\1 '"`$(call PKG_MK_CHECKSUM,$(1))`"'/' '$(TOP_DIR)/src/$(1).mk' |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1066 $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1 $$($$(PKG)_CS)/' '$(TOP_DIR)/src/$(1).mk' |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1067 $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $(2)/' '$(TOP_DIR)/src/src-$(1).mk' |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1068 $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1/' '$(TOP_DIR)/src/src-$(1).mk' |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1069 $(MAKE) -f '$(MAKEFILE)' 'update-checksum-src-$(1)' \ |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1070 || { $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $(src-$(1)_VERSION)/' '$(TOP_DIR)/src/src-$(1).mk'; \ |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1071 exit 1; } |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1072 )), |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1073 $(error Unable to update version number of package $(1))) |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1074 endef |
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1075 |
5206
ac4cae18895f
Allow update of msys2 files from single download of packages file
John Donoghue
parents:
5062
diff
changeset
|
1076 define MSYS2_PKG_UPDATE_FILE |
ac4cae18895f
Allow update of msys2 files from single download of packages file
John Donoghue
parents:
5062
diff
changeset
|
1077 cat $(MSYS2_UPDATE_TMP_FILE) | \ |
5358
dad8270e96e2
msys2-mintty: update to v3.1.4-1
John Donoghue <john.donoghue@ieee.org>
parents:
5304
diff
changeset
|
1078 $(GREP) $($(PKG)_NAME) | $(GREP) "$($(PKG)_FILTER)" | \ |
5841
a3c143ede8af
* Makefile.in: allow use of .tar.zst file checking in msys2 update
John Donoghue <john.donoghue@ieee.org>
parents:
5831
diff
changeset
|
1079 $(SED) -n 's,.*href="$($(PKG)_NAME)-\(r\?[0-9][^-]*-[0-9]*\)-[^\.]*\.pkg\.tar.*,\1,p' | \ |
5265
a7bbb803f069
* Makefile.in: update urls and msys2 rules to go to repo.msys2.org
John Donoghue
parents:
5255
diff
changeset
|
1080 $(SORT) -V | \ |
a7bbb803f069
* Makefile.in: update urls and msys2 rules to go to repo.msys2.org
John Donoghue
parents:
5255
diff
changeset
|
1081 tail -1 |
5206
ac4cae18895f
Allow update of msys2 files from single download of packages file
John Donoghue
parents:
5062
diff
changeset
|
1082 endef |
ac4cae18895f
Allow update of msys2 files from single download of packages file
John Donoghue
parents:
5062
diff
changeset
|
1083 |
ac4cae18895f
Allow update of msys2 files from single download of packages file
John Donoghue
parents:
5062
diff
changeset
|
1084 update-msys2-filelist: |
ac4cae18895f
Allow update of msys2 files from single download of packages file
John Donoghue
parents:
5062
diff
changeset
|
1085 $(shell $(WGET) -q -O$(MSYS2_UPDATE_TMP_FILE) '$(MSYS2_URL)/') |
ac4cae18895f
Allow update of msys2 files from single download of packages file
John Donoghue
parents:
5062
diff
changeset
|
1086 |
ac4cae18895f
Allow update of msys2 files from single download of packages file
John Donoghue
parents:
5062
diff
changeset
|
1087 update-msys2: update-msys2-filelist |
ac4cae18895f
Allow update of msys2 files from single download of packages file
John Donoghue
parents:
5062
diff
changeset
|
1088 $(foreach PKG,$(MSYS2_PACKAGES),$(call MSYS2_UPDATE,$(PKG),$(shell $(MSYS2_PKG_UPDATE_FILE)))) |
4920
f84bb02890c0
add rule for updaing msys2 packages, and update to latest msys2 packages
John Donoghue
parents:
4854
diff
changeset
|
1089 |
2357
5a0c2bf69e55
Add new command "make cleanup-style"
Volker Grabsch <vog@notjusthosting.com>
parents:
2356
diff
changeset
|
1090 cleanup-style: |
5a0c2bf69e55
Add new command "make cleanup-style"
Volker Grabsch <vog@notjusthosting.com>
parents:
2356
diff
changeset
|
1091 @$(foreach FILE,$(wildcard $(addprefix $(TOP_DIR)/,Makefile index.html CNAME src/*.mk src/*test.* tools/*)),\ |
2368
5e6e989cb349
Improve "make cleanup-style" to touch only files that have to be fixed
Volker Grabsch <vog@notjusthosting.com>
parents:
2359
diff
changeset
|
1092 $(SED) ' \ |
2357
5a0c2bf69e55
Add new command "make cleanup-style"
Volker Grabsch <vog@notjusthosting.com>
parents:
2356
diff
changeset
|
1093 s/\r//g; \ |
5a0c2bf69e55
Add new command "make cleanup-style"
Volker Grabsch <vog@notjusthosting.com>
parents:
2356
diff
changeset
|
1094 s/[ \t]\+$$//; \ |
5a0c2bf69e55
Add new command "make cleanup-style"
Volker Grabsch <vog@notjusthosting.com>
parents:
2356
diff
changeset
|
1095 s,^#!/bin/bash$$,#!/usr/bin/env bash,; \ |
5a0c2bf69e55
Add new command "make cleanup-style"
Volker Grabsch <vog@notjusthosting.com>
parents:
2356
diff
changeset
|
1096 $(if $(filter %Makefile,$(FILE)),,\ |
5a0c2bf69e55
Add new command "make cleanup-style"
Volker Grabsch <vog@notjusthosting.com>
parents:
2356
diff
changeset
|
1097 s/\t/ /g; \ |
5a0c2bf69e55
Add new command "make cleanup-style"
Volker Grabsch <vog@notjusthosting.com>
parents:
2356
diff
changeset
|
1098 ) \ |
2368
5e6e989cb349
Improve "make cleanup-style" to touch only files that have to be fixed
Volker Grabsch <vog@notjusthosting.com>
parents:
2359
diff
changeset
|
1099 ' < $(FILE) > $(TOP_DIR)/tmp-cleanup-style; \ |
5e6e989cb349
Improve "make cleanup-style" to touch only files that have to be fixed
Volker Grabsch <vog@notjusthosting.com>
parents:
2359
diff
changeset
|
1100 diff -u $(FILE) $(TOP_DIR)/tmp-cleanup-style >/dev/null \ |
5e6e989cb349
Improve "make cleanup-style" to touch only files that have to be fixed
Volker Grabsch <vog@notjusthosting.com>
parents:
2359
diff
changeset
|
1101 || { echo '[cleanup] $(FILE)'; \ |
5e6e989cb349
Improve "make cleanup-style" to touch only files that have to be fixed
Volker Grabsch <vog@notjusthosting.com>
parents:
2359
diff
changeset
|
1102 cp $(TOP_DIR)/tmp-cleanup-style $(FILE); }; \ |
5e6e989cb349
Improve "make cleanup-style" to touch only files that have to be fixed
Volker Grabsch <vog@notjusthosting.com>
parents:
2359
diff
changeset
|
1103 rm -f $(TOP_DIR)/tmp-cleanup-style; \ |
2357
5a0c2bf69e55
Add new command "make cleanup-style"
Volker Grabsch <vog@notjusthosting.com>
parents:
2356
diff
changeset
|
1104 ) |
5a0c2bf69e55
Add new command "make cleanup-style"
Volker Grabsch <vog@notjusthosting.com>
parents:
2356
diff
changeset
|
1105 |
3048
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1106 define build-cmake-toolchain-file |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1107 # create the CMake toolchain file |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1108 [ -d '$(dir $(CMAKE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_TOOLCHAIN_FILE))' |
3146
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1109 (if [ $(MXE_SYSTEM) = mingw ]; then \ |
3048
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1110 echo 'set(CMAKE_SYSTEM_NAME Windows)'; \ |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1111 echo 'set(MSYS 1)'; \ |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1112 fi; \ |
3146
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1113 if [ $(MXE_SYSTEM) = msvc ]; then \ |
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1114 echo 'set(MSVC 1)'; \ |
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1115 fi; \ |
3048
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1116 echo 'set(CMAKE_BUILD_TYPE Release)'; \ |
3146
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1117 if [ $(MXE_SYSTEM) = msvc ]; then \ |
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1118 echo 'set(CMAKE_FIND_ROOT_PATH $(HOST_PREFIX_NATIVE))'; \ |
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1119 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)'; \ |
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1120 else \ |
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1121 echo 'set(CMAKE_FIND_ROOT_PATH $(HOST_PREFIX))'; \ |
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1122 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)'; \ |
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1123 fi; \ |
3048
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1124 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)'; \ |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1125 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)'; \ |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1126 echo 'set(CMAKE_C_COMPILER $(MXE_CC))'; \ |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1127 echo 'set(CMAKE_CXX_COMPILER $(MXE_CXX))'; \ |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1128 echo 'set(CMAKE_Fortran_COMPILER $(MXE_F77))'; \ |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1129 echo 'set(CMAKE_RC_COMPILER $(MXE_WINDRES))'; \ |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1130 echo 'set(PKG_CONFIG_EXECUTABLE $(MXE_PKG_CONFIG))'; \ |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1131 echo 'set(QT_QMAKE_EXECUTABLE $(MXE_QMAKE))'; \ |
3146
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1132 if [ $(MXE_SYSTEM) = msvc ]; then \ |
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1133 echo 'set(CMAKE_INSTALL_PREFIX $(HOST_PREFIX_NATIVE) CACHE PATH "Installation Prefix")'; \ |
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1134 else \ |
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1135 echo 'set(CMAKE_INSTALL_PREFIX $(HOST_PREFIX) CACHE PATH "Installation Prefix")'; \ |
d468ce1eb636
[MSVC] fix cmake for use with clgcc/clg++
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3143
diff
changeset
|
1136 fi; \ |
3048
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1137 echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")') \ |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1138 > '$(CMAKE_TOOLCHAIN_FILE)' |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1139 endef |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1140 |
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1141 cmake-toolchain-file.stamp: |
3536
024fd0a6907f
don't echo all commands for creating CMake toolchain file
John W. Eaton <jwe@octave.org>
parents:
3521
diff
changeset
|
1142 @echo [creating CMake toolchain file] |
024fd0a6907f
don't echo all commands for creating CMake toolchain file
John W. Eaton <jwe@octave.org>
parents:
3521
diff
changeset
|
1143 @$(build-cmake-toolchain-file) |
024fd0a6907f
don't echo all commands for creating CMake toolchain file
John W. Eaton <jwe@octave.org>
parents:
3521
diff
changeset
|
1144 @touch cmake-toolchain-file.stamp |
024fd0a6907f
don't echo all commands for creating CMake toolchain file
John W. Eaton <jwe@octave.org>
parents:
3521
diff
changeset
|
1145 @echo [done] |
3048
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3046
diff
changeset
|
1146 |
4777
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1147 define build-native-cmake-toolchain-file |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1148 # create the native CMake toolchain file |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1149 [ -d '$(dir $(CMAKE_NATIVE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_NATIVE_TOOLCHAIN_FILE))' |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1150 (echo 'set(CMAKE_C_COMPILER $(CC))'; \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1151 echo 'set(CMAKE_CXX_COMPILER $(CXX))'; \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1152 echo 'set(CMAKE_Fortran_COMPILER $(F77))'; \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1153 echo 'set(CMAKE_RC_COMPILER $(WINDRES))'; \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1154 echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")') \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1155 > '$(CMAKE_NATIVE_TOOLCHAIN_FILE)' |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1156 endef |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1157 |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1158 cmake-native-toolchain-file.stamp: |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1159 @echo [creating native CMake toolchain file] |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1160 @$(build-native-cmake-toolchain-file) |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1161 @touch cmake-native-toolchain-file.stamp |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1162 @echo [done] |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4762
diff
changeset
|
1163 |
3045
4558fcd35fbb
dist target and list of files to distribute
John W. Eaton <jwe@octave.org>
parents:
3044
diff
changeset
|
1164 # Files to distribute |
4066 | 1165 include $(TOP_DIR)/dist-files.mk |
3045
4558fcd35fbb
dist target and list of files to distribute
John W. Eaton <jwe@octave.org>
parents:
3044
diff
changeset
|
1166 |
4558fcd35fbb
dist target and list of files to distribute
John W. Eaton <jwe@octave.org>
parents:
3044
diff
changeset
|
1167 PACKAGE_VERSION := @PACKAGE_VERSION@ |
4558fcd35fbb
dist target and list of files to distribute
John W. Eaton <jwe@octave.org>
parents:
3044
diff
changeset
|
1168 PACKAGE_TARNAME := @PACKAGE_TARNAME@ |
4558fcd35fbb
dist target and list of files to distribute
John W. Eaton <jwe@octave.org>
parents:
3044
diff
changeset
|
1169 |
4799
68b3f1ccccac
if available, use HG-ID in dist-file name
John W. Eaton <jwe@octave.org>
parents:
4797
diff
changeset
|
1170 DIST_FILE_VERSION := $(shell if [ -f HG-ID ]; then cat HG-ID; else echo $(PACKAGE_VERSION); fi) |
68b3f1ccccac
if available, use HG-ID in dist-file name
John W. Eaton <jwe@octave.org>
parents:
4797
diff
changeset
|
1171 |
68b3f1ccccac
if available, use HG-ID in dist-file name
John W. Eaton <jwe@octave.org>
parents:
4797
diff
changeset
|
1172 distdir := $(PACKAGE_TARNAME)-$(DIST_FILE_VERSION) |
3045
4558fcd35fbb
dist target and list of files to distribute
John W. Eaton <jwe@octave.org>
parents:
3044
diff
changeset
|
1173 |
4558fcd35fbb
dist target and list of files to distribute
John W. Eaton <jwe@octave.org>
parents:
3044
diff
changeset
|
1174 .PHONY: dist |
4558fcd35fbb
dist target and list of files to distribute
John W. Eaton <jwe@octave.org>
parents:
3044
diff
changeset
|
1175 dist: |
4558fcd35fbb
dist target and list of files to distribute
John W. Eaton <jwe@octave.org>
parents:
3044
diff
changeset
|
1176 rm -rf $(distdir) |
4558fcd35fbb
dist target and list of files to distribute
John W. Eaton <jwe@octave.org>
parents:
3044
diff
changeset
|
1177 mkdir $(distdir) |
4180 | 1178 ( cd $(TOP_DIR) ; $(TAR) cf - $(DIST_FILES) ) | ( cd $(distdir) ; $(TAR) xpf - ) |
3170
5ee3638d5411
[Win32/MSYS] Use GNU tar by default, falls back to bsdtar if GNU tar fails
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3158
diff
changeset
|
1179 $(TAR) czf $(distdir).tar.gz $(distdir) |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3429
diff
changeset
|
1180 |
4066 | 1181 include $(TOP_DIR)/binary-dist-rules.mk |
4192
438a4bfdc887
new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
4180
diff
changeset
|
1182 |
438a4bfdc887
new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
4180
diff
changeset
|
1183 include $(TOP_DIR)/hg-octave-dist.mk |