annotate Makefile @ 287:92ac81dea92d

bugfix: unset any environment variables which might cause trouble
author Volker Grabsch <vog@notjusthosting.com>
date Sat, 07 Mar 2009 21:59:35 +0100
parents 08a32251156c
children f54628fa99b8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
123
9fedbab70063 improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents: 122
diff changeset
1 # MinGW cross compiling environment
9fedbab70063 improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents: 122
diff changeset
2 # see doc/README for further information
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
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
5 TARGET := i386-mingw32msvc
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
272
a91ec84e4206 increased version number to 2.4
Volker Grabsch <vog@notjusthosting.com>
parents: 264
diff changeset
8 VERSION := 2.4
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
9 PREFIX := $(PWD)/usr
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
10 PKG_DIR := $(PWD)/pkg
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
11 TMP_DIR = $(PWD)/tmp-$(1)
251
f3fcee0067eb improved portability of the Makefile by avoiding $(lastword ...)
Volker Grabsch <vog@notjusthosting.com>
parents: 226
diff changeset
12 TOP_DIR := $(patsubst %/,%,$(dir $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))))
121
15e0ab5c4df0 bugfix: add $(PREFIX)/bin to the PATH
Volker Grabsch <vog@notjusthosting.com>
parents: 120
diff changeset
13 PATH := $(PREFIX)/bin:$(PATH)
184
5823fd0f68e6 add 'SHELL=bash' hints where necessary, so it works on systems where /bin/sh isn't a Bash
Volker Grabsch <vog@notjusthosting.com>
parents: 183
diff changeset
14 SHELL := bash
284
eb5d52f8c620 use the shorter '--help' instead of '--version' to check for gsed
Volker Grabsch <vog@notjusthosting.com>
parents: 278
diff changeset
15 SED := $(shell gsed --help >/dev/null 2>&1 && echo g)sed
285
08a32251156c portability fix for Open Solaris: when "ginstall" exists, use that instead of "install"
Volker Grabsch <vog@notjusthosting.com>
parents: 284
diff changeset
16 INSTALL := $(shell ginstall --help >/dev/null 2>&1 && echo g)install
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
17
287
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
18 # unset any environment variables which might cause trouble
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
19 AR =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
20 CC =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
21 CFLAGS =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
22 CPP =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
23 CPPFLAGS =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
24 CROSS =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
25 CXX =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
26 CXXCPP =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
27 CXXFLAGS =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
28 EXEEXT =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
29 LD =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
30 LDFLAGS =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
31 LIBS =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
32 NM =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
33 PKG_CONFIG =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
34 RANLIB =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
35 STRIP =
92ac81dea92d bugfix: unset any environment variables which might cause trouble
Volker Grabsch <vog@notjusthosting.com>
parents: 285
diff changeset
36
264
01aa6a0e1c9e new macro SHORT_PKG_VERSION which assists in creating download URLs
Volker Grabsch <vog@notjusthosting.com>
parents: 259
diff changeset
37 SHORT_PKG_VERSION = \
01aa6a0e1c9e new macro SHORT_PKG_VERSION which assists in creating download URLs
Volker Grabsch <vog@notjusthosting.com>
parents: 259
diff changeset
38 $(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
39
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
40 PKG_RULES := $(patsubst $(TOP_DIR)/src/%.mk,%,$(wildcard $(TOP_DIR)/src/*.mk))
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
41 include $(TOP_DIR)/src/*.mk
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
42
120
4edf6a519683 improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents: 119
diff changeset
43 CHECK_ARCHIVE = \
144
aafad5b5de5f bugfix: support the .tgz archive extension in addition to .tar.gz
Volker Grabsch <vog@notjusthosting.com>
parents: 135
diff changeset
44 $(if $(filter %.tgz, $(1)),tar tfz '$(1)' >/dev/null 2>&1, \
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
45 $(if $(filter %.tar.gz, $(1)),tar tfz '$(1)' >/dev/null 2>&1, \
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
46 $(if $(filter %.tar.bz2,$(1)),tar tfj '$(1)' >/dev/null 2>&1, \
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
47 $(if $(filter %.zip, $(1)),unzip -t '$(1)' >/dev/null 2>&1, \
144
aafad5b5de5f bugfix: support the .tgz archive extension in addition to .tar.gz
Volker Grabsch <vog@notjusthosting.com>
parents: 135
diff changeset
48 $(error Unknown archive format: $(1))))))
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
49
120
4edf6a519683 improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents: 119
diff changeset
50 UNPACK_ARCHIVE = \
144
aafad5b5de5f bugfix: support the .tgz archive extension in addition to .tar.gz
Volker Grabsch <vog@notjusthosting.com>
parents: 135
diff changeset
51 $(if $(filter %.tgz, $(1)),tar xvzf '$(1)', \
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
52 $(if $(filter %.tar.gz, $(1)),tar xvzf '$(1)', \
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
53 $(if $(filter %.tar.bz2,$(1)),tar xvjf '$(1)', \
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
54 $(if $(filter %.zip, $(1)),unzip '$(1)', \
144
aafad5b5de5f bugfix: support the .tgz archive extension in addition to .tar.gz
Volker Grabsch <vog@notjusthosting.com>
parents: 135
diff changeset
55 $(error Unknown archive format: $(1))))))
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
56
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
57 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
58 $(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
59
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
60 DOWNLOAD = \
275
c71f74edf51a set timeout to 30 seconds for downloads
Volker Grabsch <vog@notjusthosting.com>
parents: 272
diff changeset
61 $(if $(2),wget -T 30 -t 3 -c '$(1)' || wget -c '$(2)',wget -c '$(1)')
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
62
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
63 .PHONY: all
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
64 all: $(PKG_RULES)
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
65
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
66 define PKG_RULE
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
67 .PHONY: $(1)
172
0d528839039a rename installation markers from 'installed.*' to 'installed-*' to avoid weird file extensions
Volker Grabsch <vog@notjusthosting.com>
parents: 144
diff changeset
68 $(1): $(PREFIX)/installed-$(1)
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
69 $(PREFIX)/installed-$(1): $(TOP_DIR)/src/$(1).mk $(addprefix $(PREFIX)/installed-,$($(1)_DEPS))
134
d24e76675835 bugfix: use -d instead of -z to check for a directory
Volker Grabsch <vog@notjusthosting.com>
parents: 131
diff changeset
70 [ -d '$(PREFIX)' ] || mkdir -p '$(PREFIX)'
d24e76675835 bugfix: use -d instead of -z to check for a directory
Volker Grabsch <vog@notjusthosting.com>
parents: 131
diff changeset
71 [ -d '$(PKG_DIR)' ] || mkdir -p '$(PKG_DIR)'
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
72 cd '$(PKG_DIR)' && ( \
120
4edf6a519683 improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents: 119
diff changeset
73 $(call CHECK_ARCHIVE,$($(1)_FILE)) || \
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
74 $(call DOWNLOAD,$($(1)_URL),$($(1)_URL_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
75 $(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
76 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
77 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
78 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
79 cd '$(2)/$($(1)_SUBDIR)'
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
80 $$(call $(1)_BUILD,$(2)/$($(1)_SUBDIR))
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
81 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
82 ,)
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
83 touch '$$@'
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
84 endef
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
85 $(foreach PKG,$(PKG_RULES),$(eval $(call PKG_RULE,$(PKG),$(call TMP_DIR,$(PKG)))))
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
86
122
daa21345aa2a implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents: 121
diff changeset
87 .PHONY: strip
daa21345aa2a implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents: 121
diff changeset
88 strip:
daa21345aa2a implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents: 121
diff changeset
89 rm -rf \
256
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
90 '$(PREFIX)/include' \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
91 '$(PREFIX)/info' \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
92 '$(PREFIX)/lib/libiberty.a' \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
93 '$(PREFIX)/man' \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
94 '$(PREFIX)/share' \
259
3221273ea6cb remove also the etc/ directory on "make strip"
Volker Grabsch <vog@notjusthosting.com>
parents: 256
diff changeset
95 '$(PREFIX)/$(TARGET)/etc' \
256
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
96 '$(PREFIX)/$(TARGET)/doc' \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
97 '$(PREFIX)/$(TARGET)/info' \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
98 '$(PREFIX)/$(TARGET)/lib'/*.def \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
99 '$(PREFIX)/$(TARGET)/man' \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
100 '$(PREFIX)/$(TARGET)/sbin' \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
101 '$(PREFIX)/$(TARGET)/share'
122
daa21345aa2a implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents: 121
diff changeset
102 -strip -s \
256
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
103 '$(PREFIX)/bin'/* \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
104 '$(PREFIX)/libexec/gcc/$(TARGET)'/*/* \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
105 '$(PREFIX)/$(TARGET)/bin'/*
122
daa21345aa2a implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents: 121
diff changeset
106 -$(TARGET)-strip -g \
256
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
107 '$(PREFIX)/lib/gcc/$(TARGET)'/*/*.a \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
108 '$(PREFIX)/lib/gcc/$(TARGET)'/*/*.o \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
109 '$(PREFIX)/$(TARGET)/lib'/*.a \
f14c13297108 improved quoting
Volker Grabsch <vog@notjusthosting.com>
parents: 255
diff changeset
110 '$(PREFIX)/$(TARGET)/lib'/*.o
122
daa21345aa2a implemented 'make strip'
Volker Grabsch <vog@notjusthosting.com>
parents: 121
diff changeset
111
119
ff34f15ec142 improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents: 114
diff changeset
112 .PHONY: clean
ff34f15ec142 improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents: 114
diff changeset
113 clean:
ff34f15ec142 improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents: 114
diff changeset
114 rm -rf $(call TMP_DIR,*) $(PREFIX)/*
ff34f15ec142 improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents: 114
diff changeset
115
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
116 .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
117 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
118 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
119 $(filter-out \
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
120 $(foreach PKG,$(PKG_RULES),$(PKG_DIR)/$($(PKG)_FILE)), \
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
121 $(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
122
119
ff34f15ec142 improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents: 114
diff changeset
123 .PHONY: update
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
124 define UPDATE
130
d7e4464a369d show status information during 'make update'
Volker Grabsch <vog@notjusthosting.com>
parents: 123
diff changeset
125 $(if $(2), \
d7e4464a369d show status information during 'make update'
Volker Grabsch <vog@notjusthosting.com>
parents: 123
diff changeset
126 $(info $(1): $(2)) \
210
32a6b0a4bf5a on "make update" touch only the *.mk files which have a new version
Volker Grabsch <vog@notjusthosting.com>
parents: 209
diff changeset
127 $(if $(filter $(2),$($(1)_VERSION)), \
32a6b0a4bf5a on "make update" touch only the *.mk files which have a new version
Volker Grabsch <vog@notjusthosting.com>
parents: 209
diff changeset
128 , \
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
129 $(SED) 's/^\([^ ]*_VERSION *:=\).*/\1 $(2)/' -i '$(TOP_DIR)/src/$(1).mk'), \
130
d7e4464a369d show status information during 'make update'
Volker Grabsch <vog@notjusthosting.com>
parents: 123
diff changeset
130 $(error Unable to update version number: $(1)))
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
131
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
132 endef
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
133 update:
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
134 $(foreach PKG,$(PKG_RULES),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE))))
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
135
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
136 .PHONY: dist
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
137 dist:
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
138 rm -rf 'mingw_cross_env-$(VERSION)'
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
139 mkdir 'mingw_cross_env-$(VERSION)'
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
140 mkdir 'mingw_cross_env-$(VERSION)/doc'
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
141 mkdir 'mingw_cross_env-$(VERSION)/src'
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
142 (cd '$(TOP_DIR)' && hg log -v --style changelog) >'mingw_cross_env-$(VERSION)/doc/ChangeLog'
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
143 ( \
278
6b9ea2440ba5 merge text documentation and website into an HTML documentation
Volker Grabsch <vog@notjusthosting.com>
parents: 275
diff changeset
144 $(SED) -n '1,/<!-- begin of package list -->/ p' '$(TOP_DIR)/doc/README.html' && \
6b9ea2440ba5 merge text documentation and website into an HTML documentation
Volker Grabsch <vog@notjusthosting.com>
parents: 275
diff changeset
145 ($(foreach PKG,$(PKG_RULES), \
6b9ea2440ba5 merge text documentation and website into an HTML documentation
Volker Grabsch <vog@notjusthosting.com>
parents: 275
diff changeset
146 echo ' <tr><td><a href="$($(PKG)_WEBSITE)">$(PKG)</a></td><td>$($(PKG)_VERSION)</td></tr>';)) && \
6b9ea2440ba5 merge text documentation and website into an HTML documentation
Volker Grabsch <vog@notjusthosting.com>
parents: 275
diff changeset
147 $(SED) -n '/<!-- end of package list -->/,$$ p' '$(TOP_DIR)/doc/README.html' \
6b9ea2440ba5 merge text documentation and website into an HTML documentation
Volker Grabsch <vog@notjusthosting.com>
parents: 275
diff changeset
148 ) >'$(TOP_DIR)/README.html'
6b9ea2440ba5 merge text documentation and website into an HTML documentation
Volker Grabsch <vog@notjusthosting.com>
parents: 275
diff changeset
149 cp -p '$(TOP_DIR)/README.html' 'mingw_cross_env-$(VERSION)/doc/'
6b9ea2440ba5 merge text documentation and website into an HTML documentation
Volker Grabsch <vog@notjusthosting.com>
parents: 275
diff changeset
150 cd 'mingw_cross_env-$(VERSION)/doc' && lynx -dump -width 75 -nolist -force_html README.html >README
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
151 cp -p '$(TOP_DIR)/Makefile' 'mingw_cross_env-$(VERSION)/'
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
152 cp -p '$(TOP_DIR)/src'/*.mk 'mingw_cross_env-$(VERSION)/src/'
114
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
153 tar cvf - 'mingw_cross_env-$(VERSION)' | gzip -9 >'mingw_cross_env-$(VERSION).tar.gz'
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
154 rm -rf 'mingw_cross_env-$(VERSION)'
771b6c26008d completely rewritten from scratch as Makefile
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
155