Mercurial > mxe-octave
annotate Makefile @ 2153:e4c83fa61a5b
replaced $(BUILD) with a more direct and less brittle construct
For discussion, see the following email and its follow-ups:
http://lists.nongnu.org/archive/html/mingw-cross-env-list/2011-11/msg00112.html
author | Volker Grabsch <vog@notjusthosting.com> |
---|---|
date | Mon, 28 Nov 2011 09:51:56 +0100 |
parents | 02d04ce7c9c7 |
children | e9eed43704a2 |
rev | line source |
---|---|
641
dab071eac9c0
simplified file markers
Volker Grabsch <vog@notjusthosting.com>
parents:
604
diff
changeset
|
1 # This file is part of mingw-cross-env. |
714
29f1ba4559ae
point consequently to "doc/index.html" instead of "doc/index.html or doc/README"
Volker Grabsch <vog@notjusthosting.com>
parents:
704
diff
changeset
|
2 # See doc/index.html for further information. |
123
9fedbab70063
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
122
diff
changeset
|
3 |
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
|
4 JOBS := 1 |
450
f3563b6817c1
update the target triplet to i686-pc-mingw32
Volker Grabsch <vog@notjusthosting.com>
parents:
448
diff
changeset
|
5 TARGET := i686-pc-mingw32 |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
6 SOURCEFORGE_MIRROR := kent.dl.sourceforge.net |
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
7 |
1865
aa8e9bab281d
Ensure that $(PWD) is always set, which is needed for use with sudo
Volker Grabsch <vog@notjusthosting.com>
parents:
1847
diff
changeset
|
8 PWD := $(shell pwd) |
704
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
9 PREFIX := $(PWD)/usr |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
10 LOG_DIR := $(PWD)/log |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
11 TIMESTAMP := $(shell date +%Y%m%d_%H%M%S) |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
12 PKG_DIR := $(PWD)/pkg |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
13 DIST_DIR := $(PWD)/dist |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
14 TMP_DIR = $(PWD)/tmp-$(1) |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
15 MAKEFILE := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
16 TOP_DIR := $(patsubst %/,%,$(dir $(MAKEFILE))) |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
17 PATH := $(PREFIX)/bin:$(PATH) |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
18 SHELL := bash |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
19 INSTALL := $(shell ginstall --help >/dev/null 2>&1 && echo g)install |
1413
b14677f6af57
add portability variable for libtool
Tony Theodore <tonyt@logyst.com>
parents:
1411
diff
changeset
|
20 LIBTOOL := $(shell glibtool --help >/dev/null 2>&1 && echo g)libtool |
704
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
21 LIBTOOLIZE := $(shell glibtoolize --help >/dev/null 2>&1 && echo g)libtoolize |
1245
37aa3912b501
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1206
diff
changeset
|
22 PATCH := $(shell gpatch --help >/dev/null 2>&1 && echo g)patch |
37aa3912b501
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1206
diff
changeset
|
23 SED := $(shell gsed --help >/dev/null 2>&1 && echo g)sed |
704
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
24 VERSION := $(shell $(SED) -n 's,^.*<span id="latest-version">\([^<]*\)</span>.*$$,\1,p' '$(TOP_DIR)/doc/index.html') |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
25 |
1398
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
26 REQUIREMENTS := autoconf automake bash bison bzip2 cmake flex \ |
1413
b14677f6af57
add portability variable for libtool
Tony Theodore <tonyt@logyst.com>
parents:
1411
diff
changeset
|
27 gcc intltoolize $(LIBTOOL) $(LIBTOOLIZE) \ |
b14677f6af57
add portability variable for libtool
Tony Theodore <tonyt@logyst.com>
parents:
1411
diff
changeset
|
28 $(MAKE) openssl $(PATCH) $(PERL) pkg-config \ |
b14677f6af57
add portability variable for libtool
Tony Theodore <tonyt@logyst.com>
parents:
1411
diff
changeset
|
29 scons $(SED) unzip wget xz yasm |
1398
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
30 |
1663
9577f70222f8
add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents:
1555
diff
changeset
|
31 CMAKE_TOOLCHAIN_FILE := $(PREFIX)/$(TARGET)/share/cmake/mingw-cross-env-conf.cmake |
9577f70222f8
add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents:
1555
diff
changeset
|
32 |
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
|
33 # unexport any environment variables that might cause trouble |
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
|
34 unexport AR CC CFLAGS C_INCLUDE_PATH CPATH CPLUS_INCLUDE_PATH CPP |
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
|
35 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
|
36 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
|
37 unexport OBJC_INCLUDE_PATH PKG_CONFIG QMAKESPEC RANLIB STRIP |
287
92ac81dea92d
bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents:
285
diff
changeset
|
38 |
264
01aa6a0e1c9e
new macro SHORT_PKG_VERSION which assists in creating download URLs
Volker Grabsch <vog@notjusthosting.com>
parents:
259
diff
changeset
|
39 SHORT_PKG_VERSION = \ |
01aa6a0e1c9e
new macro SHORT_PKG_VERSION which assists in creating download URLs
Volker Grabsch <vog@notjusthosting.com>
parents:
259
diff
changeset
|
40 $(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
|
41 |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
42 PKGS := $(sort $(patsubst $(TOP_DIR)/src/%.mk,%,$(wildcard $(TOP_DIR)/src/*.mk))) |
213
faeb91c793f3
find the src/*.mk and doc/ files even when called from another directory, e.g. via "make -f /path/to/mingw_cross_env/Makefile"
Volker Grabsch <vog@notjusthosting.com>
parents:
212
diff
changeset
|
43 include $(TOP_DIR)/src/*.mk |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
44 |
120
4edf6a519683
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
119
diff
changeset
|
45 UNPACK_ARCHIVE = \ |
1101
28abe875c217
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1095
diff
changeset
|
46 $(if $(filter %.tgz, $(1)),tar xzf '$(1)', \ |
28abe875c217
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1095
diff
changeset
|
47 $(if $(filter %.tar.gz, $(1)),tar xzf '$(1)', \ |
28abe875c217
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1095
diff
changeset
|
48 $(if $(filter %.tar.bz2, $(1)),tar xjf '$(1)', \ |
1136
cf87e39ecc2c
improved portability invoking tar with stdin
Mark Brand <mabrand@mabrand.nl>
parents:
1132
diff
changeset
|
49 $(if $(filter %.tar.lzma,$(1)),xz -dc -F lzma '$(1)' | tar xf -, \ |
1555 | 50 $(if $(filter %.tar.xz,$(1)),xz -dc '$(1)' | tar xf -, \ |
1101
28abe875c217
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1095
diff
changeset
|
51 $(if $(filter %.zip, $(1)),unzip -q '$(1)', \ |
1555 | 52 $(error Unknown archive format: $(1)))))))) |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
53 |
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
|
54 UNPACK_PKG_ARCHIVE = \ |
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
|
55 $(call UNPACK_ARCHIVE,$(PKG_DIR)/$($(1)_FILE)) |
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
|
56 |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
57 PKG_CHECKSUM = \ |
473
b0cc6cc3c1fc
improved status output
Volker Grabsch <vog@notjusthosting.com>
parents:
461
diff
changeset
|
58 openssl sha1 '$(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
|
59 |
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
60 CHECK_PKG_ARCHIVE = \ |
311
ce0d27e7993f
use "openssl sha1 ..." instead of "sha1sum -b ..."
Volker Grabsch <vog@notjusthosting.com>
parents:
310
diff
changeset
|
61 [ '$($(1)_CHECKSUM)' == "`$$(call PKG_CHECKSUM,$(1))`" ] |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
62 |
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
63 DOWNLOAD_PKG_ARCHIVE = \ |
1159
782fbc148784
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1136
diff
changeset
|
64 mkdir -p '$(PKG_DIR)' && \ |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
65 $(if $($(1)_URL_2), \ |
1847
f6e74296023b
avoid HTTPS issues when downloading files (the checksum test remains, of course)
Volker Grabsch <vog@notjusthosting.com>
parents:
1742
diff
changeset
|
66 ( wget -T 30 -t 3 --no-check-certificate -O- '$($(1)_URL)' || wget --no-check-certificate -O- '$($(1)_URL_2)' ), \ |
f6e74296023b
avoid HTTPS issues when downloading files (the checksum test remains, of course)
Volker Grabsch <vog@notjusthosting.com>
parents:
1742
diff
changeset
|
67 wget --no-check-certificate -O- '$($(1)_URL)') \ |
1438
698e4de6d9a6
implemented $(PKG)_FIX_GZIP for GitWeb snapshots and similar issues
Volker Grabsch <vog@notjusthosting.com>
parents:
1437
diff
changeset
|
68 $(if $($(1)_FIX_GZIP), \ |
698e4de6d9a6
implemented $(PKG)_FIX_GZIP for GitWeb snapshots and similar issues
Volker Grabsch <vog@notjusthosting.com>
parents:
1437
diff
changeset
|
69 | gzip -d | gzip -9n, \ |
698e4de6d9a6
implemented $(PKG)_FIX_GZIP for GitWeb snapshots and similar issues
Volker Grabsch <vog@notjusthosting.com>
parents:
1437
diff
changeset
|
70 ) \ |
1437
181c89101ae0
changed download mechanism to allow for simple integration of post-download filters, at the cost of not being able to contine interrupted downloads
Volker Grabsch <vog@notjusthosting.com>
parents:
1413
diff
changeset
|
71 > '$(PKG_DIR)/$($(1)_FILE)' |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
72 |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
73 .PHONY: all |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
74 all: $(PKGS) |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
75 |
1398
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
76 .PHONY: check-requirements |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
77 define CHECK_REQUIREMENT |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
78 @if ! $(1) --help &>/dev/null; then \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
79 echo; \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
80 echo 'Missing requirement: $(1)'; \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
81 echo; \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
82 echo 'Please have a look at "doc/index.html" to ensure'; \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
83 echo 'that your system meets all requirements.'; \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
84 echo; \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
85 exit 1; \ |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
86 fi |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
87 |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
88 endef |
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
|
89 check-requirements: $(PREFIX)/installed/check-requirements |
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
|
90 $(PREFIX)/installed/check-requirements: $(MAKEFILE) |
1398
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
91 @echo '[check requirements]' |
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
92 $(foreach REQUIREMENT,$(REQUIREMENTS),$(call CHECK_REQUIREMENT,$(REQUIREMENT))) |
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
|
93 @[ -d '$(PREFIX)/installed' ] || mkdir -p '$(PREFIX)/installed' |
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
|
94 @touch '$@' |
1398
c6aaf7d9c746
check most of the requirements in advance
Volker Grabsch <vog@notjusthosting.com>
parents:
1397
diff
changeset
|
95 |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
96 .PHONY: download |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
97 download: $(addprefix download-,$(PKGS)) |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
98 |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
99 define PKG_RULE |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
100 .PHONY: download-$(1) |
429
2fa394d22e1d
bugfix and simplification of "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
428
diff
changeset
|
101 download-$(1): $(addprefix download-,$($(1)_DEPS)) |
310
5c5e254fa32b
bugfix in handling checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
306
diff
changeset
|
102 if ! $(call CHECK_PKG_ARCHIVE,$(1)); then \ |
5c5e254fa32b
bugfix in handling checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
306
diff
changeset
|
103 $(call DOWNLOAD_PKG_ARCHIVE,$(1)); \ |
5c5e254fa32b
bugfix in handling checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
306
diff
changeset
|
104 $(call CHECK_PKG_ARCHIVE,$(1)) || { echo 'Wrong checksum!'; exit 1; }; \ |
430
5d2c64680021
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
429
diff
changeset
|
105 fi |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
106 |
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
107 .PHONY: $(1) |
593
e3fa9c5468a5
put installation markers into a separate sub directory usr/installed/
Volker Grabsch <vog@notjusthosting.com>
parents:
592
diff
changeset
|
108 $(1): $(PREFIX)/installed/$(1) |
1399
6b28a4f27b8c
bugfix in the integration of "make check-requirements"
Volker Grabsch <vog@notjusthosting.com>
parents:
1398
diff
changeset
|
109 $(PREFIX)/installed/$(1): $(TOP_DIR)/src/$(1).mk \ |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
110 $(wildcard $(TOP_DIR)/src/$(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
|
111 $(wildcard $(TOP_DIR)/src/$(1)-test*) \ |
1399
6b28a4f27b8c
bugfix in the integration of "make check-requirements"
Volker Grabsch <vog@notjusthosting.com>
parents:
1398
diff
changeset
|
112 $(addprefix $(PREFIX)/installed/,$($(1)_DEPS)) \ |
6b28a4f27b8c
bugfix in the integration of "make check-requirements"
Volker Grabsch <vog@notjusthosting.com>
parents:
1398
diff
changeset
|
113 | check-requirements |
604
95aeaeacaf9c
improved layout of the log/ directory
Volker Grabsch <vog@notjusthosting.com>
parents:
596
diff
changeset
|
114 @[ -d '$(LOG_DIR)/$(TIMESTAMP)' ] || mkdir -p '$(LOG_DIR)/$(TIMESTAMP)' |
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
|
115 @if ! $(call CHECK_PKG_ARCHIVE,$(1)); then \ |
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
|
116 echo '[download] $(1)'; \ |
1396
296b81e392cf
portability fix for MSYS
Volker Grabsch <vog@notjusthosting.com>
parents:
1296
diff
changeset
|
117 ($(call DOWNLOAD_PKG_ARCHIVE,$(1))) &> '$(LOG_DIR)/$(TIMESTAMP)/$(1)-download'; \ |
1397
b33871ee26a3
improved coding style: make use of the "-f" option of "ln"
Volker Grabsch <vog@notjusthosting.com>
parents:
1396
diff
changeset
|
118 ln -sf '$(TIMESTAMP)/$(1)-download' '$(LOG_DIR)/$(1)-download'; \ |
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
|
119 if ! $(call CHECK_PKG_ARCHIVE,$(1)); then \ |
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
|
120 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
|
121 echo 'Wrong checksum of 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
|
122 echo '------------------------------------------------------------'; \ |
595
f4b50cf506c6
keep separate download logs in log/PKG-download
Volker Grabsch <vog@notjusthosting.com>
parents:
594
diff
changeset
|
123 tail -n 10 '$(LOG_DIR)/$(1)-download' | $(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
|
124 echo '------------------------------------------------------------'; \ |
595
f4b50cf506c6
keep separate download logs in log/PKG-download
Volker Grabsch <vog@notjusthosting.com>
parents:
594
diff
changeset
|
125 echo '[log] $(LOG_DIR)/$(1)-download'; \ |
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
|
126 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
|
127 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
|
128 fi; \ |
430
5d2c64680021
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
429
diff
changeset
|
129 fi |
434
7fdb6628d83a
improved output: don't show "[build]" for download-only packages
Volker Grabsch <vog@notjusthosting.com>
parents:
431
diff
changeset
|
130 $(if $(value $(1)_BUILD), |
7fdb6628d83a
improved output: don't show "[build]" for download-only packages
Volker Grabsch <vog@notjusthosting.com>
parents:
431
diff
changeset
|
131 @echo '[build] $(1)' |
7fdb6628d83a
improved output: don't show "[build]" for download-only packages
Volker Grabsch <vog@notjusthosting.com>
parents:
431
diff
changeset
|
132 ,) |
1396
296b81e392cf
portability fix for MSYS
Volker Grabsch <vog@notjusthosting.com>
parents:
1296
diff
changeset
|
133 @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
|
134 @ln -sf '$(TIMESTAMP)/$(1)' '$(LOG_DIR)/$(1)' |
1396
296b81e392cf
portability fix for MSYS
Volker Grabsch <vog@notjusthosting.com>
parents:
1296
diff
changeset
|
135 @if ! (time $(MAKE) -f '$(MAKEFILE)' 'build-only-$(1)') &> '$(LOG_DIR)/$(TIMESTAMP)/$(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
|
136 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
|
137 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
|
138 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
|
139 tail -n 10 '$(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
|
140 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
|
141 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
|
142 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
|
143 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
|
144 fi |
435
80c86e6f7ca6
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
434
diff
changeset
|
145 @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
|
146 |
951e2a6d1e69
create a separate build log file "usr/log-PKG" for each package build
Volker Grabsch <vog@notjusthosting.com>
parents:
427
diff
changeset
|
147 .PHONY: build-only-$(1) |
951e2a6d1e69
create a separate build log file "usr/log-PKG" for each package build
Volker Grabsch <vog@notjusthosting.com>
parents:
427
diff
changeset
|
148 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
|
149 $(if $(value $(1)_BUILD), |
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
|
150 rm -rf '$(2)' |
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
|
151 mkdir -p '$(2)' |
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
|
152 cd '$(2)' && $(call UNPACK_PKG_ARCHIVE,$(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
|
153 cd '$(2)/$($(1)_SUBDIR)' |
391
8349a6576cac
automatically apply patches "src/PKG-*.patch" which are provided with a "src/PKG.mk" file
Volker Grabsch <vog@notjusthosting.com>
parents:
378
diff
changeset
|
154 $(foreach PKG_PATCH,$(sort $(wildcard $(TOP_DIR)/src/$(1)-*.patch)), |
1132
d4ccfc3cfdd4
bugfix: use GNU Patch under FreeBSD (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
1101
diff
changeset
|
155 (cd '$(2)/$($(1)_SUBDIR)' && $(PATCH) -p1 -u) < $(PKG_PATCH)) |
657
b1d03b91eb1e
test program for package sdl
Volker Grabsch <vog@notjusthosting.com>
parents:
641
diff
changeset
|
156 $$(call $(1)_BUILD,$(2)/$($(1)_SUBDIR),$(TOP_DIR)/src/$(1)-test) |
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
|
157 (du -k -d 0 '$(2)' 2>/dev/null || du -k --max-depth 0 '$(2)') | $(SED) -n 's/^\(\S*\).*/du: \1 KiB/p' |
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
|
158 rm -rfv '$(2)' |
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
|
159 ,) |
593
e3fa9c5468a5
put installation markers into a separate sub directory usr/installed/
Volker Grabsch <vog@notjusthosting.com>
parents:
592
diff
changeset
|
160 [ -d '$(PREFIX)/installed' ] || mkdir -p '$(PREFIX)/installed' |
e3fa9c5468a5
put installation markers into a separate sub directory usr/installed/
Volker Grabsch <vog@notjusthosting.com>
parents:
592
diff
changeset
|
161 touch '$(PREFIX)/installed/$(1)' |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
162 endef |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
163 $(foreach PKG,$(PKGS),$(eval $(call PKG_RULE,$(PKG),$(call TMP_DIR,$(PKG))))) |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
164 |
122
daa21345aa2a
implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents:
121
diff
changeset
|
165 .PHONY: strip |
daa21345aa2a
implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents:
121
diff
changeset
|
166 strip: |
daa21345aa2a
implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents:
121
diff
changeset
|
167 rm -rf \ |
256 | 168 '$(PREFIX)/include' \ |
169 '$(PREFIX)/info' \ | |
170 '$(PREFIX)/lib/libiberty.a' \ | |
171 '$(PREFIX)/man' \ | |
172 '$(PREFIX)/share' \ | |
259
3221273ea6cb
remove also the etc/ directory on "make strip"
Volker Grabsch <vog@notjusthosting.com>
parents:
256
diff
changeset
|
173 '$(PREFIX)/$(TARGET)/etc' \ |
256 | 174 '$(PREFIX)/$(TARGET)/doc' \ |
175 '$(PREFIX)/$(TARGET)/info' \ | |
176 '$(PREFIX)/$(TARGET)/lib'/*.def \ | |
177 '$(PREFIX)/$(TARGET)/man' \ | |
545
5ad2e782d8dd
don't remove usr/i686-pc-mingw32/share/ on "make strip", because this might break NSIS and other packages
Volker Grabsch <vog@notjusthosting.com>
parents:
523
diff
changeset
|
178 '$(PREFIX)/$(TARGET)/sbin' |
299
9f5fdae25d77
portability fix for MacOS X: use more common options for the "strip" command
Volker Grabsch <vog@notjusthosting.com>
parents:
297
diff
changeset
|
179 -strip -Sx \ |
256 | 180 '$(PREFIX)/bin'/* \ |
181 '$(PREFIX)/libexec/gcc/$(TARGET)'/*/* \ | |
182 '$(PREFIX)/$(TARGET)/bin'/* | |
299
9f5fdae25d77
portability fix for MacOS X: use more common options for the "strip" command
Volker Grabsch <vog@notjusthosting.com>
parents:
297
diff
changeset
|
183 -$(TARGET)-strip -S \ |
256 | 184 '$(PREFIX)/lib/gcc/$(TARGET)'/*/*.a \ |
185 '$(PREFIX)/lib/gcc/$(TARGET)'/*/*.o \ | |
186 '$(PREFIX)/$(TARGET)/lib'/*.a \ | |
187 '$(PREFIX)/$(TARGET)/lib'/*.o | |
122
daa21345aa2a
implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents:
121
diff
changeset
|
188 |
119
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
189 .PHONY: clean |
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
190 clean: |
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
191 rm -rf $(call TMP_DIR,*) $(PREFIX)/* |
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
192 |
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
|
193 .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
|
194 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
|
195 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
|
196 $(filter-out \ |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
197 $(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
|
198 $(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
|
199 |
119
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
200 .PHONY: update |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
201 define UPDATE |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
202 $(if $(2), |
448
e9afec55fd6b
improved version recognition, enable the notation of ignored (bad) package versions
Volker Grabsch <vog@notjusthosting.com>
parents:
443
diff
changeset
|
203 $(if $(filter $(2),$($(1)_IGNORE)), |
461
c489fb1015e2
improved output style of "make update" again
Volker Grabsch <vog@notjusthosting.com>
parents:
454
diff
changeset
|
204 $(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
|
205 $(if $(filter $(2),$($(1)_VERSION)), |
461
c489fb1015e2
improved output style of "make update" again
Volker Grabsch <vog@notjusthosting.com>
parents:
454
diff
changeset
|
206 $(info . $(1) $(2)), |
477
ffca44340844
improved output of "make update"
Volker Grabsch <vog@notjusthosting.com>
parents:
473
diff
changeset
|
207 $(info NEW $(1) $($(1)_VERSION) --> $(2)) |
448
e9afec55fd6b
improved version recognition, enable the notation of ignored (bad) package versions
Volker Grabsch <vog@notjusthosting.com>
parents:
443
diff
changeset
|
208 $(SED) 's/^\([^ ]*_VERSION *:=\).*/\1 $(2)/' -i '$(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
|
209 $(MAKE) -f '$(MAKEFILE)' 'update-checksum-$(1)' \ |
519
99a330c048df
bugfix for "make update": avoid silent package update failures
Volker Grabsch <vog@notjusthosting.com>
parents:
517
diff
changeset
|
210 || { $(SED) 's/^\([^ ]*_VERSION *:=\).*/\1 $($(1)_VERSION)/' -i '$(TOP_DIR)/src/$(1).mk'; \ |
99a330c048df
bugfix for "make update": avoid silent package update failures
Volker Grabsch <vog@notjusthosting.com>
parents:
517
diff
changeset
|
211 exit 1; })), |
560
185e73877b08
improved error message for "make update"
Volker Grabsch <vog@notjusthosting.com>
parents:
545
diff
changeset
|
212 $(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
|
213 |
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
214 endef |
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
215 update: |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
216 $(foreach PKG,$(PKGS),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE)))) |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
217 |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
218 update-checksum-%: |
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
219 $(call DOWNLOAD_PKG_ARCHIVE,$*) |
319
9a9cffd8a015
bugfix in the "update-checksum-%" target which is internally used by "make update"
Volker Grabsch <vog@notjusthosting.com>
parents:
316
diff
changeset
|
220 $(SED) 's/^\([^ ]*_CHECKSUM *:=\).*/\1 '"`$(call PKG_CHECKSUM,$*)`"'/' -i '$(TOP_DIR)/src/$*.mk' |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
221 |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
222 .PHONY: dist |
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
223 dist: |
1676
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
224 rm -rf '$(DIST_DIR)' |
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
225 mkdir -p '$(DIST_DIR)' |
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
226 mkdir '$(DIST_DIR)/mingw-cross-env-$(VERSION)' |
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
227 mkdir '$(DIST_DIR)/mingw-cross-env-$(VERSION)/doc' |
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
228 mkdir '$(DIST_DIR)/mingw-cross-env-$(VERSION)/src' |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
229 ( \ |
698
a7b95e107568
more liberal parsing of doc/index.html in "make dist"
Volker Grabsch <vog@notjusthosting.com>
parents:
689
diff
changeset
|
230 $(SED) -n '1,/<table id="package-list"/ p' '$(TOP_DIR)/doc/index.html' && \ |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
231 ($(foreach PKG,$(PKGS), \ |
278
6b9ea2440ba5
merge text documentation and website into an HTML documentation
Volker Grabsch <vog@notjusthosting.com>
parents:
275
diff
changeset
|
232 echo ' <tr><td><a href="$($(PKG)_WEBSITE)">$(PKG)</a></td><td>$($(PKG)_VERSION)</td></tr>';)) && \ |
698
a7b95e107568
more liberal parsing of doc/index.html in "make dist"
Volker Grabsch <vog@notjusthosting.com>
parents:
689
diff
changeset
|
233 $(SED) -n '/<table id="package-list"/,/<ul id="authors-list"/ p' '$(TOP_DIR)/doc/index.html' | \ |
523
1711ff2b9416
generate the list of authors automatically from the version history
Volker Grabsch <vog@notjusthosting.com>
parents:
521
diff
changeset
|
234 $(SED) '1d' && \ |
699
4c4e4591f94f
handle special characters correctly in "make dist"
Volker Grabsch <vog@notjusthosting.com>
parents:
698
diff
changeset
|
235 (LC_ALL=en_US.UTF-8 hg log | $(SED) -n 's,^\(user: *\([^<]*\) <.*\|.*(by \([^)]*\)).*\)$$,\2\3,p' | \ |
523
1711ff2b9416
generate the list of authors automatically from the version history
Volker Grabsch <vog@notjusthosting.com>
parents:
521
diff
changeset
|
236 sort | uniq -c | sort -nr | \ |
1711ff2b9416
generate the list of authors automatically from the version history
Volker Grabsch <vog@notjusthosting.com>
parents:
521
diff
changeset
|
237 $(SED) 's,^ *[0-9]* *\(.*\)$$, <li>\1</li>,') && \ |
698
a7b95e107568
more liberal parsing of doc/index.html in "make dist"
Volker Grabsch <vog@notjusthosting.com>
parents:
689
diff
changeset
|
238 $(SED) '1,/<ul id="authors-list"/ d' '$(TOP_DIR)/doc/index.html' \ |
359
e9fbffc4f48a
introduce placeholders for version number and target in the tutorial
Volker Grabsch <vog@notjusthosting.com>
parents:
353
diff
changeset
|
239 ) \ |
e9fbffc4f48a
introduce placeholders for version number and target in the tutorial
Volker Grabsch <vog@notjusthosting.com>
parents:
353
diff
changeset
|
240 | $(SED) 's,\(<span class="version">\)[^<]*\(</span>\),\1$(VERSION)\2,g' \ |
e9fbffc4f48a
introduce placeholders for version number and target in the tutorial
Volker Grabsch <vog@notjusthosting.com>
parents:
353
diff
changeset
|
241 | $(SED) 's,\(<span class="target">\)[^<]*\(</span>\),\1$(TARGET)\2,g' \ |
1504
dfa937baa17b
improved pkg-config wrapper and its documentation
Volker Grabsch <vog@notjusthosting.com>
parents:
1466
diff
changeset
|
242 | $(SED) 's,\(<span class="target-underscore">\)[^<]*\(</span>\),\1$(subst -,_,$(TARGET))\2,g' \ |
1516
1e071bb32b42
generate list of year for copyright message automatically from "hg log"
Volker Grabsch <vog@notjusthosting.com>
parents:
1504
diff
changeset
|
243 | $(SED) 's;\(<span class="years">\)[^<]*\(</span>\);\1'"`LC_ALL=en_US.UTF-8 hg log | $(SED) -n 's,^date:.*\s\([0-9]\{4\}\)\s.*$$,\1,p' | sort -nu | $(SED) -n '1 h; 2,$$ H; $$ {x; s/\n/, /gp}'`"'\2;g' \ |
416
2c560952dba8
let "make dist" put everything into a separate dist/ subdirectory
Volker Grabsch <vog@notjusthosting.com>
parents:
415
diff
changeset
|
244 >'$(DIST_DIR)/mingw-cross-env-$(VERSION)/doc/index.html' |
2c560952dba8
let "make dist" put everything into a separate dist/ subdirectory
Volker Grabsch <vog@notjusthosting.com>
parents:
415
diff
changeset
|
245 cp -p '$(TOP_DIR)/doc'/screenshot-* '$(DIST_DIR)/mingw-cross-env-$(VERSION)/doc/' |
2c560952dba8
let "make dist" put everything into a separate dist/ subdirectory
Volker Grabsch <vog@notjusthosting.com>
parents:
415
diff
changeset
|
246 cp -p '$(TOP_DIR)/Makefile' '$(DIST_DIR)/mingw-cross-env-$(VERSION)/' |
2c560952dba8
let "make dist" put everything into a separate dist/ subdirectory
Volker Grabsch <vog@notjusthosting.com>
parents:
415
diff
changeset
|
247 cp -p '$(TOP_DIR)/src'/*.mk '$(DIST_DIR)/mingw-cross-env-$(VERSION)/src/' |
2c560952dba8
let "make dist" put everything into a separate dist/ subdirectory
Volker Grabsch <vog@notjusthosting.com>
parents:
415
diff
changeset
|
248 cp -p '$(TOP_DIR)/src'/*.patch '$(DIST_DIR)/mingw-cross-env-$(VERSION)/src/' |
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
|
249 cp -p '$(TOP_DIR)/src'/*-test* '$(DIST_DIR)/mingw-cross-env-$(VERSION)/src/' |
1676
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
250 (cd '$(DIST_DIR)' && tar cvf - 'mingw-cross-env-$(VERSION)' | gzip -9) >'$(DIST_DIR)/mingw-cross-env-$(VERSION).tar.gz' |
1677
5be6de295211
fixed usability issue in "make dist"
Volker Grabsch <vog@notjusthosting.com>
parents:
1676
diff
changeset
|
251 @echo |
1676
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
252 @echo 'Upload will start in 5 seconds. Last chance to cancel! (Ctrl+C)' |
1677
5be6de295211
fixed usability issue in "make dist"
Volker Grabsch <vog@notjusthosting.com>
parents:
1676
diff
changeset
|
253 @echo |
1676
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
254 @sleep 5 |
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
255 mkdir '$(DIST_DIR)/web' |
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
256 cd '$(DIST_DIR)/web' && cvs -d :ext:cvs.savannah.nongnu.org:/web/mingw-cross-env co mingw-cross-env |
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
257 cp -p '$(DIST_DIR)/mingw-cross-env-$(VERSION)/doc'/* '$(DIST_DIR)/web/mingw-cross-env/' |
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
258 cd '$(DIST_DIR)/web/mingw-cross-env' && cvs add * || echo 'Errors on "cvs add" ignored.' |
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
259 cd '$(DIST_DIR)/web/mingw-cross-env' && cvs commit -m 'upload' |
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
260 sleep 2 # wait for the "triggered webpages update" to complete |
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
261 x-www-browser \ |
1742
c45847e6eb81
improved validator URL to be used on "make dist"
Volker Grabsch <vog@notjusthosting.com>
parents:
1677
diff
changeset
|
262 'http://validator.w3.org/unicorn/check?ucn_uri=http://mingw-cross-env.nongnu.org/' \ |
1676
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
263 'http://mingw-cross-env.nongnu.org/#latest-release' \ |
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
264 'https://bitbucket.org/vog/mingw-cross-env/downloads#new-download-form' \ |
a4be0de7ea2c
improved "make dist" to automate more activities of the release process
Volker Grabsch <vog@notjusthosting.com>
parents:
1663
diff
changeset
|
265 'http://freshmeat.net/projects/mingw_cross_env/releases/new' |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
266 |