Mercurial > mxe-octave
annotate Makefile @ 1136:cf87e39ecc2c
improved portability invoking tar with stdin
author | Mark Brand <mabrand@mabrand.nl> |
---|---|
date | Mon, 13 Sep 2010 22:35:00 +0200 |
parents | d4ccfc3cfdd4 |
children | 782fbc148784 |
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 |
704
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
8 PREFIX := $(PWD)/usr |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
9 LOG_DIR := $(PWD)/log |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
10 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
|
11 PKG_DIR := $(PWD)/pkg |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
12 DIST_DIR := $(PWD)/dist |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
13 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
|
14 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
|
15 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
|
16 PATH := $(PREFIX)/bin:$(PATH) |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
17 SHELL := bash |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
18 SED := $(shell gsed --help >/dev/null 2>&1 && echo g)sed |
1132
d4ccfc3cfdd4
bugfix: use GNU Patch under FreeBSD (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
1101
diff
changeset
|
19 PATCH := $(shell gpatch --help >/dev/null 2>&1 && echo g)patch |
704
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
20 INSTALL := $(shell ginstall --help >/dev/null 2>&1 && echo g)install |
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 |
93f1be1d2089
use glibtoolize instead of libtoolize where appropriate (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents:
699
diff
changeset
|
22 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
|
23 |
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
|
24 # unexport any environment variables that might cause trouble |
1075
813c0cbce7ac
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1074
diff
changeset
|
25 unexport AR CC CFLAGS CPP CPPFLAGS CROSS CXX CXXCPP CXXFLAGS EXEEXT |
813c0cbce7ac
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1074
diff
changeset
|
26 unexport EXTRA_CFLAGS EXTRA_LDFLAGS LD LDFLAGS LIBS NM PKG_CONFIG |
813c0cbce7ac
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1074
diff
changeset
|
27 unexport PKG_CONFIG_PATH QMAKESPEC RANLIB STRIP |
287
92ac81dea92d
bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents:
285
diff
changeset
|
28 |
264
01aa6a0e1c9e
new macro SHORT_PKG_VERSION which assists in creating download URLs
Volker Grabsch <vog@notjusthosting.com>
parents:
259
diff
changeset
|
29 SHORT_PKG_VERSION = \ |
01aa6a0e1c9e
new macro SHORT_PKG_VERSION which assists in creating download URLs
Volker Grabsch <vog@notjusthosting.com>
parents:
259
diff
changeset
|
30 $(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
|
31 |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
32 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
|
33 include $(TOP_DIR)/src/*.mk |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
34 |
120
4edf6a519683
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
119
diff
changeset
|
35 UNPACK_ARCHIVE = \ |
1101
28abe875c217
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1095
diff
changeset
|
36 $(if $(filter %.tgz, $(1)),tar xzf '$(1)', \ |
28abe875c217
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1095
diff
changeset
|
37 $(if $(filter %.tar.gz, $(1)),tar xzf '$(1)', \ |
28abe875c217
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1095
diff
changeset
|
38 $(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
|
39 $(if $(filter %.tar.lzma,$(1)),xz -dc -F lzma '$(1)' | tar xf -, \ |
1101
28abe875c217
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
1095
diff
changeset
|
40 $(if $(filter %.zip, $(1)),unzip -q '$(1)', \ |
1095
e878941387e3
upgrade packages curl freetype gcc glew gnutls gst* libarchive libevent libgcrypt pcre sqlite w32api
Mark Brand <mabrand@mabrand.nl>
parents:
1075
diff
changeset
|
41 $(error Unknown archive format: $(1))))))) |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
42 |
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
|
43 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
|
44 $(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
|
45 |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
46 PKG_CHECKSUM = \ |
473
b0cc6cc3c1fc
improved status output
Volker Grabsch <vog@notjusthosting.com>
parents:
461
diff
changeset
|
47 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
|
48 |
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
49 CHECK_PKG_ARCHIVE = \ |
311
ce0d27e7993f
use "openssl sha1 ..." instead of "sha1sum -b ..."
Volker Grabsch <vog@notjusthosting.com>
parents:
310
diff
changeset
|
50 [ '$($(1)_CHECKSUM)' == "`$$(call PKG_CHECKSUM,$(1))`" ] |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
51 |
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
52 DOWNLOAD_PKG_ARCHIVE = \ |
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
53 $(if $($(1)_URL_2), \ |
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
54 wget -T 30 -t 3 -c -O '$(PKG_DIR)/$($(1)_FILE)' '$($(1)_URL)' \ |
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
55 || wget -c -O '$(PKG_DIR)/$($(1)_FILE)' '$($(1)_URL_2)', \ |
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
56 wget -c -O '$(PKG_DIR)/$($(1)_FILE)' '$($(1)_URL)') |
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
57 |
408
413750a629be
improved version recognition for sourceforge packages
Volker Grabsch <vog@notjusthosting.com>
parents:
406
diff
changeset
|
58 SOURCEFORGE_FILES = \ |
413750a629be
improved version recognition for sourceforge packages
Volker Grabsch <vog@notjusthosting.com>
parents:
406
diff
changeset
|
59 wget -q -O- '$(1)' | \ |
413750a629be
improved version recognition for sourceforge packages
Volker Grabsch <vog@notjusthosting.com>
parents:
406
diff
changeset
|
60 grep 'title="/' | \ |
561
57265b8d92af
adjust the $(SOURCEFORGE_FILES) macro to the new layout of the SourceForge download sites (needed by "make update")
Volker Grabsch <vog@notjusthosting.com>
parents:
560
diff
changeset
|
61 $(SED) -n 's,.*title="\(/[^:]*\).*released on \([0-9-]*\)",\2 \1,p' | \ |
408
413750a629be
improved version recognition for sourceforge packages
Volker Grabsch <vog@notjusthosting.com>
parents:
406
diff
changeset
|
62 sort | \ |
413750a629be
improved version recognition for sourceforge packages
Volker Grabsch <vog@notjusthosting.com>
parents:
406
diff
changeset
|
63 $(SED) 's,^[^ ]* ,,' |
413750a629be
improved version recognition for sourceforge packages
Volker Grabsch <vog@notjusthosting.com>
parents:
406
diff
changeset
|
64 |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
65 .PHONY: all |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
66 all: $(PKGS) |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
67 |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
68 .PHONY: download |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
69 download: $(addprefix download-,$(PKGS)) |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
70 |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
71 define PKG_RULE |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
72 .PHONY: download-$(1) |
429
2fa394d22e1d
bugfix and simplification of "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
428
diff
changeset
|
73 download-$(1): $(addprefix download-,$($(1)_DEPS)) |
134
d24e76675835
bugfix: use -d instead of -z to check for a directory
Volker Grabsch <vog@notjusthosting.com>
parents:
131
diff
changeset
|
74 [ -d '$(PKG_DIR)' ] || mkdir -p '$(PKG_DIR)' |
310
5c5e254fa32b
bugfix in handling checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
306
diff
changeset
|
75 if ! $(call CHECK_PKG_ARCHIVE,$(1)); then \ |
5c5e254fa32b
bugfix in handling checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
306
diff
changeset
|
76 $(call DOWNLOAD_PKG_ARCHIVE,$(1)); \ |
5c5e254fa32b
bugfix in handling checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
306
diff
changeset
|
77 $(call CHECK_PKG_ARCHIVE,$(1)) || { echo 'Wrong checksum!'; exit 1; }; \ |
430
5d2c64680021
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
429
diff
changeset
|
78 fi |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
79 |
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
80 .PHONY: $(1) |
593
e3fa9c5468a5
put installation markers into a separate sub directory usr/installed/
Volker Grabsch <vog@notjusthosting.com>
parents:
592
diff
changeset
|
81 $(1): $(PREFIX)/installed/$(1) |
e3fa9c5468a5
put installation markers into a separate sub directory usr/installed/
Volker Grabsch <vog@notjusthosting.com>
parents:
592
diff
changeset
|
82 $(PREFIX)/installed/$(1): $(TOP_DIR)/src/$(1).mk \ |
394
bb2b329f85d3
new command "make download"
Volker Grabsch <vog@notjusthosting.com>
parents:
392
diff
changeset
|
83 $(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
|
84 $(wildcard $(TOP_DIR)/src/$(1)-test*) \ |
593
e3fa9c5468a5
put installation markers into a separate sub directory usr/installed/
Volker Grabsch <vog@notjusthosting.com>
parents:
592
diff
changeset
|
85 $(addprefix $(PREFIX)/installed/,$($(1)_DEPS)) |
604
95aeaeacaf9c
improved layout of the log/ directory
Volker Grabsch <vog@notjusthosting.com>
parents:
596
diff
changeset
|
86 @[ -d '$(LOG_DIR)/$(TIMESTAMP)' ] || mkdir -p '$(LOG_DIR)/$(TIMESTAMP)' |
95aeaeacaf9c
improved layout of the log/ directory
Volker Grabsch <vog@notjusthosting.com>
parents:
596
diff
changeset
|
87 @[ -d '$(PKG_DIR)' ] || mkdir -p '$(PKG_DIR)' |
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
|
88 @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
|
89 echo '[download] $(1)'; \ |
596
9de8f34905c0
keep old log files with timestamp using symlinks to refer to the latest ones
Volker Grabsch <vog@notjusthosting.com>
parents:
595
diff
changeset
|
90 rm -f '$(LOG_DIR)/$(1)-download'; \ |
604
95aeaeacaf9c
improved layout of the log/ directory
Volker Grabsch <vog@notjusthosting.com>
parents:
596
diff
changeset
|
91 ln -s '$(TIMESTAMP)/$(1)-download' '$(LOG_DIR)/$(1)-download'; \ |
595
f4b50cf506c6
keep separate download logs in log/PKG-download
Volker Grabsch <vog@notjusthosting.com>
parents:
594
diff
changeset
|
92 ($(call DOWNLOAD_PKG_ARCHIVE,$(1))) &> '$(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
|
93 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
|
94 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
|
95 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
|
96 echo '------------------------------------------------------------'; \ |
595
f4b50cf506c6
keep separate download logs in log/PKG-download
Volker Grabsch <vog@notjusthosting.com>
parents:
594
diff
changeset
|
97 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
|
98 echo '------------------------------------------------------------'; \ |
595
f4b50cf506c6
keep separate download logs in log/PKG-download
Volker Grabsch <vog@notjusthosting.com>
parents:
594
diff
changeset
|
99 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
|
100 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
|
101 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
|
102 fi; \ |
430
5d2c64680021
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
429
diff
changeset
|
103 fi |
434
7fdb6628d83a
improved output: don't show "[build]" for download-only packages
Volker Grabsch <vog@notjusthosting.com>
parents:
431
diff
changeset
|
104 $(if $(value $(1)_BUILD), |
7fdb6628d83a
improved output: don't show "[build]" for download-only packages
Volker Grabsch <vog@notjusthosting.com>
parents:
431
diff
changeset
|
105 @echo '[build] $(1)' |
7fdb6628d83a
improved output: don't show "[build]" for download-only packages
Volker Grabsch <vog@notjusthosting.com>
parents:
431
diff
changeset
|
106 ,) |
596
9de8f34905c0
keep old log files with timestamp using symlinks to refer to the latest ones
Volker Grabsch <vog@notjusthosting.com>
parents:
595
diff
changeset
|
107 @rm -f '$(LOG_DIR)/$(1)' |
604
95aeaeacaf9c
improved layout of the log/ directory
Volker Grabsch <vog@notjusthosting.com>
parents:
596
diff
changeset
|
108 @ln -s '$(TIMESTAMP)/$(1)' '$(LOG_DIR)/$(1)' |
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
|
109 @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
|
110 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
|
111 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
|
112 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
|
113 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
|
114 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
|
115 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
|
116 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
|
117 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
|
118 fi |
435
80c86e6f7ca6
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
434
diff
changeset
|
119 @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
|
120 |
951e2a6d1e69
create a separate build log file "usr/log-PKG" for each package build
Volker Grabsch <vog@notjusthosting.com>
parents:
427
diff
changeset
|
121 .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
|
122 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
|
123 $(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
|
124 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
|
125 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
|
126 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
|
127 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
|
128 $(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
|
129 (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
|
130 $$(call $(1)_BUILD,$(2)/$($(1)_SUBDIR),$(TOP_DIR)/src/$(1)-test) |
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
|
131 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
|
132 ,) |
593
e3fa9c5468a5
put installation markers into a separate sub directory usr/installed/
Volker Grabsch <vog@notjusthosting.com>
parents:
592
diff
changeset
|
133 [ -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
|
134 touch '$(PREFIX)/installed/$(1)' |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
135 endef |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
136 $(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
|
137 |
122
daa21345aa2a
implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents:
121
diff
changeset
|
138 .PHONY: strip |
daa21345aa2a
implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents:
121
diff
changeset
|
139 strip: |
daa21345aa2a
implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents:
121
diff
changeset
|
140 rm -rf \ |
256 | 141 '$(PREFIX)/include' \ |
142 '$(PREFIX)/info' \ | |
143 '$(PREFIX)/lib/libiberty.a' \ | |
144 '$(PREFIX)/man' \ | |
145 '$(PREFIX)/share' \ | |
259
3221273ea6cb
remove also the etc/ directory on "make strip"
Volker Grabsch <vog@notjusthosting.com>
parents:
256
diff
changeset
|
146 '$(PREFIX)/$(TARGET)/etc' \ |
256 | 147 '$(PREFIX)/$(TARGET)/doc' \ |
148 '$(PREFIX)/$(TARGET)/info' \ | |
149 '$(PREFIX)/$(TARGET)/lib'/*.def \ | |
150 '$(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
|
151 '$(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
|
152 -strip -Sx \ |
256 | 153 '$(PREFIX)/bin'/* \ |
154 '$(PREFIX)/libexec/gcc/$(TARGET)'/*/* \ | |
155 '$(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
|
156 -$(TARGET)-strip -S \ |
256 | 157 '$(PREFIX)/lib/gcc/$(TARGET)'/*/*.a \ |
158 '$(PREFIX)/lib/gcc/$(TARGET)'/*/*.o \ | |
159 '$(PREFIX)/$(TARGET)/lib'/*.a \ | |
160 '$(PREFIX)/$(TARGET)/lib'/*.o | |
122
daa21345aa2a
implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents:
121
diff
changeset
|
161 |
119
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
162 .PHONY: clean |
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
163 clean: |
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
164 rm -rf $(call TMP_DIR,*) $(PREFIX)/* |
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
165 |
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
|
166 .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
|
167 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
|
168 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
|
169 $(filter-out \ |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
170 $(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
|
171 $(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
|
172 |
119
ff34f15ec142
improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents:
114
diff
changeset
|
173 .PHONY: update |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
174 define UPDATE |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
175 $(if $(2), |
448
e9afec55fd6b
improved version recognition, enable the notation of ignored (bad) package versions
Volker Grabsch <vog@notjusthosting.com>
parents:
443
diff
changeset
|
176 $(if $(filter $(2),$($(1)_IGNORE)), |
461
c489fb1015e2
improved output style of "make update" again
Volker Grabsch <vog@notjusthosting.com>
parents:
454
diff
changeset
|
177 $(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
|
178 $(if $(filter $(2),$($(1)_VERSION)), |
461
c489fb1015e2
improved output style of "make update" again
Volker Grabsch <vog@notjusthosting.com>
parents:
454
diff
changeset
|
179 $(info . $(1) $(2)), |
477
ffca44340844
improved output of "make update"
Volker Grabsch <vog@notjusthosting.com>
parents:
473
diff
changeset
|
180 $(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
|
181 $(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
|
182 $(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
|
183 || { $(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
|
184 exit 1; })), |
560
185e73877b08
improved error message for "make update"
Volker Grabsch <vog@notjusthosting.com>
parents:
545
diff
changeset
|
185 $(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
|
186 |
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
187 endef |
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
188 update: |
403
825505ea3855
improved variable naming in the Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
401
diff
changeset
|
189 $(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
|
190 |
306
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
191 update-checksum-%: |
85ffa9259036
validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents:
305
diff
changeset
|
192 $(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
|
193 $(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
|
194 |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
195 .PHONY: dist |
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
196 dist: |
427
9605f8f088e4
small bugfix in "make dist"
Volker Grabsch <vog@notjusthosting.com>
parents:
417
diff
changeset
|
197 [ -d '$(DIST_DIR)' ] || mkdir -p '$(DIST_DIR)' |
9605f8f088e4
small bugfix in "make dist"
Volker Grabsch <vog@notjusthosting.com>
parents:
417
diff
changeset
|
198 [ -d '$(DIST_DIR)/web' ] || mkdir '$(DIST_DIR)/web' |
9605f8f088e4
small bugfix in "make dist"
Volker Grabsch <vog@notjusthosting.com>
parents:
417
diff
changeset
|
199 [ -d '$(DIST_DIR)/releases' ] || mkdir '$(DIST_DIR)/releases' |
416
2c560952dba8
let "make dist" put everything into a separate dist/ subdirectory
Volker Grabsch <vog@notjusthosting.com>
parents:
415
diff
changeset
|
200 rm -rf '$(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
|
201 mkdir '$(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
|
202 mkdir '$(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
|
203 mkdir '$(DIST_DIR)/mingw-cross-env-$(VERSION)/src' |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
204 ( \ |
698
a7b95e107568
more liberal parsing of doc/index.html in "make dist"
Volker Grabsch <vog@notjusthosting.com>
parents:
689
diff
changeset
|
205 $(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
|
206 ($(foreach PKG,$(PKGS), \ |
278
6b9ea2440ba5
merge text documentation and website into an HTML documentation
Volker Grabsch <vog@notjusthosting.com>
parents:
275
diff
changeset
|
207 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
|
208 $(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
|
209 $(SED) '1d' && \ |
699
4c4e4591f94f
handle special characters correctly in "make dist"
Volker Grabsch <vog@notjusthosting.com>
parents:
698
diff
changeset
|
210 (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
|
211 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
|
212 $(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
|
213 $(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
|
214 ) \ |
e9fbffc4f48a
introduce placeholders for version number and target in the tutorial
Volker Grabsch <vog@notjusthosting.com>
parents:
353
diff
changeset
|
215 | $(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
|
216 | $(SED) 's,\(<span class="target">\)[^<]*\(</span>\),\1$(TARGET)\2,g' \ |
416
2c560952dba8
let "make dist" put everything into a separate dist/ subdirectory
Volker Grabsch <vog@notjusthosting.com>
parents:
415
diff
changeset
|
217 >'$(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
|
218 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
|
219 cp -p '$(DIST_DIR)/mingw-cross-env-$(VERSION)/doc'/* '$(DIST_DIR)/web/' |
2c560952dba8
let "make dist" put everything into a separate dist/ subdirectory
Volker Grabsch <vog@notjusthosting.com>
parents:
415
diff
changeset
|
220 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
|
221 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
|
222 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
|
223 cp -p '$(TOP_DIR)/src'/*-test* '$(DIST_DIR)/mingw-cross-env-$(VERSION)/src/' |
416
2c560952dba8
let "make dist" put everything into a separate dist/ subdirectory
Volker Grabsch <vog@notjusthosting.com>
parents:
415
diff
changeset
|
224 (cd '$(DIST_DIR)' && tar cvf - 'mingw-cross-env-$(VERSION)' | gzip -9) >'$(DIST_DIR)/releases/mingw-cross-env-$(VERSION).tar.gz' |
2c560952dba8
let "make dist" put everything into a separate dist/ subdirectory
Volker Grabsch <vog@notjusthosting.com>
parents:
415
diff
changeset
|
225 rm -rf '$(DIST_DIR)/mingw-cross-env-$(VERSION)' |
114
771b6c26008d
completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
226 |