# HG changeset patch
# User J. H. Palmieri <palmieri@math.washington.edu>
# Date 1321115780 28800
# Node ID 1475ad98f30aca77b0338e1908134e77a701e0c4
# Parent ebcb021d545df22eaff1b12f62a00487f6a730d0
Remove NUM_THREADS from Makefile, add + to recursive make rules
diff --git a/.hgignore b/.hgignore
a
|
b
|
|
3 | 3 | (^|/)\._\.DS_Store$ |
4 | 4 | sage-README-osx.txt |
5 | 5 | ~$ |
| 6 | \.rej$ |
6 | 7 | \.pyc$ |
7 | 8 | .hgignore~ |
8 | 9 | data |
diff --git a/Makefile b/Makefile
a
|
b
|
|
7 | 7 | # See below for targets to build the documentation in other formats, |
8 | 8 | # to run various types of test suites, and to remove parts of the build etc. |
9 | 9 | |
10 | | # TODO: |
11 | | # * Shorten description of NUM_THREADS below? |
12 | | |
13 | | # NUM_THREADS is the number of threads to use for parallel testing (and |
14 | | # sometime in the future, parallel building). If this is 0, then it |
15 | | # will be set to the number of processors, with a default maximum of 8 |
16 | | # -- see sage-ptest. |
17 | | # |
18 | | # The detection of number of processors might not be reliable on some |
19 | | # platforms. On a Sun SPARC T5240 (t2.math), the number of processors |
20 | | # reported by multiprocessing.cpu_count() might not correspond to the |
21 | | # actual number of processors. See ticket #6283. |
22 | | # Python's multiprocessing.cpu_count() actually returns the number of |
23 | | # *hardware threads*, which is >= number of cores. |
24 | | # |
25 | | # WARNING: if your machine has <= 8 cpus (according to cpu_count() and |
26 | | # you *don't* want to use that many threads for parallel doctesting, |
27 | | # change the value of NUM_THREADS to a (sensible) positive integer. If |
28 | | # cpu_count() reports > 8, then if NUM_THREADS is 0, only 8 threads will |
29 | | # be used. The default value is zero. |
30 | | NUM_THREADS = 0 # 0 interpreted as min(8, multiprocessing.cpu_count()) |
31 | | |
32 | 10 | PIPE = spkg/pipestatus |
33 | 11 | |
34 | 12 | |
… |
… |
|
137 | 115 | |
138 | 116 | ptest: all # i.e. build and doc |
139 | 117 | $(TESTPRELIMS) |
140 | | $(PIPE) "./sage -tp $(NUM_THREADS) --sagenb $(TESTDIRS) 2>&1" "tee -a ptest.log" |
| 118 | $(PIPE) "./sage -tp --sagenb $(TESTDIRS) 2>&1" "tee -a ptest.log" |
141 | 119 | |
142 | 120 | ptestall: all # i.e. build and doc |
143 | 121 | $(TESTPRELIMS) |
144 | | $(PIPE) "./sage -tp $(NUM_THREADS) --sagenb --optional $(TESTDIRS) 2>&1" "tee -a ptestall.log" |
| 122 | $(PIPE) "./sage -tp --sagenb --optional $(TESTDIRS) 2>&1" "tee -a ptestall.log" |
145 | 123 | |
146 | 124 | ptestlong: all # i.e. build and doc |
147 | 125 | $(TESTPRELIMS) |
148 | | $(PIPE) "./sage -tp $(NUM_THREADS) --sagenb --long $(TESTDIRS) 2>&1" "tee -a ptestlong.log" |
| 126 | $(PIPE) "./sage -tp --sagenb --long $(TESTDIRS) 2>&1" "tee -a ptestlong.log" |
149 | 127 | |
150 | 128 | ptestalllong: all # i.e. build and doc |
151 | 129 | $(TESTPRELIMS) |
152 | | $(PIPE) "./sage -tp $(NUM_THREADS) --sagenb --optional --long $(TESTDIRS) 2>&1" "tee -a ptestalllong.log" |
| 130 | $(PIPE) "./sage -tp --sagenb --optional --long $(TESTDIRS) 2>&1" "tee -a ptestalllong.log" |
153 | 131 | |
154 | 132 | |
155 | 133 | testoptional: testall # just an alias |
diff --git a/spkg/standard/deps b/spkg/standard/deps
a
|
b
|
|
6 | 6 | # Let e.g. SAGE_ROOT/spkg/install pass options to sage-spkg, i.e. currently |
7 | 7 | # "-f", to force rebuilding dependent packages during an upgrade (#9896): |
8 | 8 | SAGE_SPKG = sage-spkg $${SAGE_SPKG_OPTS} |
9 | | INSTALL = $(SAGE_ROOT)/spkg/pipestatus |
| 9 | PIPE = $(SAGE_ROOT)/spkg/pipestatus |
10 | 10 | |
11 | 11 | ############################################################################### |
12 | 12 | # The file parallel_make.cfg is either empty (build in parallel) or |
… |
… |
|
21 | 21 | ############################################################################### |
22 | 22 | BASE = $(INST)/$(PREREQ) $(INST)/$(DIR) $(INST)/$(SAGE_BZIP2) |
23 | 23 | |
24 | | # The following is obsolete (#9896): |
25 | | # |
26 | | # # Also install scripts before we continue with other spkgs (cf. #8306) |
27 | | # BASE += $(INST)/$(SAGE_SCRIPTS) |
28 | | # |
29 | | # Rather than making *all* standard packages depend on SAGE_SCRIPTS (which |
30 | | # triggers the rebuild of *every* package on an upgrade), add SAGE_SCRIPTS |
31 | | # to the dependencies of only those packages that rely on them. |
32 | | # These are (as of Sage 4.6.alpha3): |
33 | | # - The Sage library, $(SAGE) |
34 | | # - sagetex, but this in turn depends on $(SAGE) |
35 | | |
36 | 24 | # Tell make not to look for files with these (base)names: |
37 | 25 | .PHONY: all base scripts |
38 | 26 | |
… |
… |
|
145 | 133 | # Building the base system |
146 | 134 | ############################################################################### |
147 | 135 | $(INST)/$(DIR): |
148 | | $(INSTALL) "base/$(DIR)-install 2>&1" "tee -a $(SAGE_LOGS)/$(DIR).log" |
| 136 | $(PIPE) "base/$(DIR)-install 2>&1" "tee -a $(SAGE_LOGS)/$(DIR).log" |
149 | 137 | |
150 | 138 | $(INST)/$(PREREQ): $(INST)/$(DIR) |
151 | | $(INSTALL) "base/$(PREREQ)-install 2>&1" "tee -a $(SAGE_LOGS)/$(PREREQ).log" |
| 139 | $(PIPE) "base/$(PREREQ)-install 2>&1" "tee -a $(SAGE_LOGS)/$(PREREQ).log" |
152 | 140 | |
153 | 141 | $(INST)/$(SAGE_BZIP2): $(INST)/$(PREREQ) $(INST)/$(DIR) |
154 | | $(INSTALL) "base/$(SAGE_BZIP2)-install 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE_BZIP2).log" |
155 | | |
156 | | $(INST)/$(SAGE_SCRIPTS): $(BASE) |
157 | | $(INSTALL) "$(SAGE_SPKG) $(SAGE_SCRIPTS) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE_SCRIPTS).log" |
| 142 | $(PIPE) "base/$(SAGE_BZIP2)-install 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE_BZIP2).log" |
158 | 143 | |
159 | 144 | ############################################################################### |
160 | 145 | # Building normal packages |
161 | 146 | ############################################################################### |
162 | 147 | $(INST)/$(ATLAS): $(BASE) $(INST)/$(LAPACK) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
163 | | $(INSTALL) "$(SAGE_SPKG) $(ATLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(ATLAS).log" |
| 148 | +$(PIPE) "$(SAGE_SPKG) $(ATLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(ATLAS).log" |
164 | 149 | |
165 | 150 | $(INST)/$(BOEHM_GC): $(BASE) $(INST)/$(PATCH) |
166 | | $(INSTALL) "$(SAGE_SPKG) $(BOEHM_GC) 2>&1" "tee -a $(SAGE_LOGS)/$(BOEHM_GC).log" |
| 151 | +$(PIPE) "$(SAGE_SPKG) $(BOEHM_GC) 2>&1" "tee -a $(SAGE_LOGS)/$(BOEHM_GC).log" |
167 | 152 | |
168 | 153 | $(INST)/$(BOOST_CROPPED): $(BASE) $(INST)/$(PATCH) |
169 | | $(INSTALL) "$(SAGE_SPKG) $(BOOST_CROPPED) 2>&1" "tee -a $(SAGE_LOGS)/$(BOOST_CROPPED).log" |
| 154 | +$(PIPE) "$(SAGE_SPKG) $(BOOST_CROPPED) 2>&1" "tee -a $(SAGE_LOGS)/$(BOOST_CROPPED).log" |
170 | 155 | |
171 | 156 | $(INST)/$(CLIQUER): $(BASE) $(INST)/$(PATCH) |
172 | | $(INSTALL) "$(SAGE_SPKG) $(CLIQUER) 2>&1" "tee -a $(SAGE_LOGS)/$(CLIQUER).log" |
| 157 | +$(PIPE) "$(SAGE_SPKG) $(CLIQUER) 2>&1" "tee -a $(SAGE_LOGS)/$(CLIQUER).log" |
173 | 158 | |
174 | 159 | $(INST)/$(TERMCAP): $(BASE) $(INST)/$(PATCH) |
175 | | $(INSTALL) "$(SAGE_SPKG) $(TERMCAP) 2>&1" "tee -a $(SAGE_LOGS)/$(TERMCAP).log" |
| 160 | +$(PIPE) "$(SAGE_SPKG) $(TERMCAP) 2>&1" "tee -a $(SAGE_LOGS)/$(TERMCAP).log" |
176 | 161 | |
177 | 162 | $(INST)/$(READLINE): $(BASE) $(INST)/$(PATCH) $(INST)/$(TERMCAP) |
178 | | $(INSTALL) "$(SAGE_SPKG) $(READLINE) 2>&1" "tee -a $(SAGE_LOGS)/$(READLINE).log" |
| 163 | +$(PIPE) "$(SAGE_SPKG) $(READLINE) 2>&1" "tee -a $(SAGE_LOGS)/$(READLINE).log" |
179 | 164 | |
180 | 165 | $(INST)/$(ICONV): $(BASE) $(INST)/$(PATCH) |
181 | | $(INSTALL) "$(SAGE_SPKG) $(ICONV) 2>&1" "tee -a $(SAGE_LOGS)/$(ICONV).log" |
| 166 | +$(PIPE) "$(SAGE_SPKG) $(ICONV) 2>&1" "tee -a $(SAGE_LOGS)/$(ICONV).log" |
182 | 167 | |
183 | 168 | $(INST)/$(DOCUTILS): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
184 | | $(INSTALL) "$(SAGE_SPKG) $(DOCUTILS) 2>&1" "tee -a $(SAGE_LOGS)/$(DOCUTILS).log" |
| 169 | +$(PIPE) "$(SAGE_SPKG) $(DOCUTILS) 2>&1" "tee -a $(SAGE_LOGS)/$(DOCUTILS).log" |
185 | 170 | |
186 | 171 | $(INST)/$(ELLIPTIC_CURVES): $(BASE) $(INST)/$(PATCH) $(INST)/$(PYTHON) \ |
187 | 172 | $(INST)/$(SQLITE) |
188 | | $(INSTALL) "$(SAGE_SPKG) $(ELLIPTIC_CURVES) 2>&1" "tee -a $(SAGE_LOGS)/$(ELLIPTIC_CURVES).log" |
| 173 | +$(PIPE) "$(SAGE_SPKG) $(ELLIPTIC_CURVES) 2>&1" "tee -a $(SAGE_LOGS)/$(ELLIPTIC_CURVES).log" |
189 | 174 | |
190 | 175 | $(INST)/$(CONWAY): $(BASE) $(INST)/$(PATCH) |
191 | | $(INSTALL) "$(SAGE_SPKG) $(CONWAY) 2>&1" "tee -a $(SAGE_LOGS)/$(CONWAY).log" |
| 176 | +$(PIPE) "$(SAGE_SPKG) $(CONWAY) 2>&1" "tee -a $(SAGE_LOGS)/$(CONWAY).log" |
192 | 177 | |
193 | 178 | $(INST)/$(GRAPHS): $(BASE) $(INST)/$(PATCH) |
194 | | $(INSTALL) "$(SAGE_SPKG) $(GRAPHS) 2>&1" "tee -a $(SAGE_LOGS)/$(GRAPHS).log" |
| 179 | +$(PIPE) "$(SAGE_SPKG) $(GRAPHS) 2>&1" "tee -a $(SAGE_LOGS)/$(GRAPHS).log" |
195 | 180 | |
196 | 181 | $(INST)/$(GLPK): $(BASE) $(INST)/$(MPIR) $(INST)/$(ZLIB) $(INST)/$(PATCH) |
197 | | $(INSTALL) "$(SAGE_SPKG) $(GLPK) 2>&1" "tee -a $(SAGE_LOGS)/$(GLPK).log" |
| 182 | +$(PIPE) "$(SAGE_SPKG) $(GLPK) 2>&1" "tee -a $(SAGE_LOGS)/$(GLPK).log" |
198 | 183 | |
199 | 184 | $(INST)/$(PYTHON): $(BASE) $(INST)/$(ZLIB) \ |
200 | 185 | $(INST)/$(READLINE) $(INST)/$(SQLITE) \ |
201 | 186 | $(INST)/$(GNUTLS) $(INST)/$(LIBPNG) $(INST)/$(PATCH) |
202 | | $(INSTALL) "$(SAGE_SPKG) $(PYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON).log" |
| 187 | +$(PIPE) "$(SAGE_SPKG) $(PYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON).log" |
203 | 188 | |
204 | 189 | $(INST)/$(PATCH): $(BASE) |
205 | | $(INSTALL) "$(SAGE_SPKG) $(PATCH) 2>&1" "tee -a $(SAGE_LOGS)/$(PATCH).log" |
| 190 | +$(PIPE) "$(SAGE_SPKG) $(PATCH) 2>&1" "tee -a $(SAGE_LOGS)/$(PATCH).log" |
206 | 191 | |
207 | 192 | $(INST)/$(MPIR): $(BASE) $(INST)/$(ICONV) $(INST)/$(PATCH) |
208 | | $(INSTALL) "$(SAGE_SPKG) $(MPIR) 2>&1" "tee -a $(SAGE_LOGS)/$(MPIR).log" |
| 193 | +$(PIPE) "$(SAGE_SPKG) $(MPIR) 2>&1" "tee -a $(SAGE_LOGS)/$(MPIR).log" |
209 | 194 | |
210 | 195 | $(INST)/$(GSL): $(BASE) $(INST)/$(ATLAS) $(INST)/$(PATCH) |
211 | | $(INSTALL) "$(SAGE_SPKG) $(GSL) 2>&1" "tee -a $(SAGE_LOGS)/$(GSL).log" |
| 196 | +$(PIPE) "$(SAGE_SPKG) $(GSL) 2>&1" "tee -a $(SAGE_LOGS)/$(GSL).log" |
212 | 197 | |
213 | 198 | $(INST)/$(NTL): $(BASE) $(INST)/$(MPIR) $(INST)/$(PATCH) |
214 | | $(INSTALL) "$(SAGE_SPKG) $(NTL) 2>&1" "tee -a $(SAGE_LOGS)/$(NTL).log" |
| 199 | +$(PIPE) "$(SAGE_SPKG) $(NTL) 2>&1" "tee -a $(SAGE_LOGS)/$(NTL).log" |
215 | 200 | |
216 | 201 | $(INST)/$(FPLLL): $(BASE) $(INST)/$(MPIR) $(INST)/$(MPFR) $(INST)/$(PATCH) |
217 | | $(INSTALL) "$(SAGE_SPKG) $(FPLLL) 2>&1" "tee -a $(SAGE_LOGS)/$(FPLLL).log" |
| 202 | +$(PIPE) "$(SAGE_SPKG) $(FPLLL) 2>&1" "tee -a $(SAGE_LOGS)/$(FPLLL).log" |
218 | 203 | |
219 | 204 | $(INST)/$(PARI): $(BASE) $(INST)/$(READLINE) \ |
220 | 205 | $(INST)/$(MPIR) $(INST)/$(PATCH) |
221 | | $(INSTALL) "$(SAGE_SPKG) $(PARI) 2>&1" "tee -a $(SAGE_LOGS)/$(PARI).log" |
| 206 | +$(PIPE) "$(SAGE_SPKG) $(PARI) 2>&1" "tee -a $(SAGE_LOGS)/$(PARI).log" |
222 | 207 | |
223 | 208 | $(INST)/$(POLYBORI): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SCONS) \ |
224 | 209 | $(INST)/$(BOOST_CROPPED) $(INST)/$(LIBM4RI) \ |
225 | 210 | $(INST)/$(GD) $(INST)/$(PATCH) |
226 | | $(INSTALL) "$(SAGE_SPKG) $(POLYBORI) 2>&1" "tee -a $(SAGE_LOGS)/$(POLYBORI).log" |
| 211 | +$(PIPE) "$(SAGE_SPKG) $(POLYBORI) 2>&1" "tee -a $(SAGE_LOGS)/$(POLYBORI).log" |
227 | 212 | |
228 | 213 | $(INST)/$(POLYTOPES_DB): $(BASE) $(INST)/$(PATCH) |
229 | | $(INSTALL) "$(SAGE_SPKG) $(POLYTOPES_DB) 2>&1" "tee -a $(SAGE_LOGS)/$(POLYTOPES_DB).log" |
| 214 | +$(PIPE) "$(SAGE_SPKG) $(POLYTOPES_DB) 2>&1" "tee -a $(SAGE_LOGS)/$(POLYTOPES_DB).log" |
230 | 215 | |
231 | 216 | $(INST)/$(PPL): $(BASE) $(INST)/$(MPIR) |
232 | | $(INSTALL) "$(SAGE_SPKG) $(PPL) 2>&1" "tee -a $(SAGE_LOGS)/$(PPL).log" |
| 217 | +$(PIPE) "$(SAGE_SPKG) $(PPL) 2>&1" "tee -a $(SAGE_LOGS)/$(PPL).log" |
233 | 218 | |
234 | 219 | $(INST)/$(MPFR): $(BASE) $(INST)/$(MPIR) $(INST)/$(PATCH) |
235 | | $(INSTALL) "$(SAGE_SPKG) $(MPFR) 2>&1" "tee -a $(SAGE_LOGS)/$(MPFR).log" |
| 220 | +$(PIPE) "$(SAGE_SPKG) $(MPFR) 2>&1" "tee -a $(SAGE_LOGS)/$(MPFR).log" |
236 | 221 | |
237 | 222 | $(INST)/$(MPFI): $(BASE) $(INST)/$(MPIR) $(INST)/$(MPFR) $(INST)/$(PATCH) |
238 | | $(INSTALL) "$(SAGE_SPKG) $(MPFI) 2>&1" "tee -a $(SAGE_LOGS)/$(MPFI).log" |
| 223 | +$(PIPE) "$(SAGE_SPKG) $(MPFI) 2>&1" "tee -a $(SAGE_LOGS)/$(MPFI).log" |
239 | 224 | |
240 | 225 | $(INST)/$(GIVARO): $(BASE) $(INST)/$(MPIR) $(INST)/$(PATCH) |
241 | | $(INSTALL) "$(SAGE_SPKG) $(GIVARO) 2>&1" "tee -a $(SAGE_LOGS)/$(GIVARO).log" |
| 226 | +$(PIPE) "$(SAGE_SPKG) $(GIVARO) 2>&1" "tee -a $(SAGE_LOGS)/$(GIVARO).log" |
242 | 227 | |
243 | 228 | $(INST)/$(LINBOX): $(BASE) $(INST)/$(MPIR) $(INST)/$(NTL) $(INST)/$(GIVARO) \ |
244 | 229 | $(INST)/$(GSL) $(INST)/$(ATLAS) $(INST)/$(PATCH) |
245 | | $(INSTALL) "$(SAGE_SPKG) $(LINBOX) 2>&1" "tee -a $(SAGE_LOGS)/$(LINBOX).log" |
| 230 | +$(PIPE) "$(SAGE_SPKG) $(LINBOX) 2>&1" "tee -a $(SAGE_LOGS)/$(LINBOX).log" |
246 | 231 | |
247 | 232 | $(INST)/$(IML): $(BASE) $(INST)/$(MPIR) $(INST)/$(GSL) $(INST)/$(PATCH) |
248 | | $(INSTALL) "$(SAGE_SPKG) $(IML) 2>&1" "tee -a $(SAGE_LOGS)/$(IML).log" |
| 233 | +$(PIPE) "$(SAGE_SPKG) $(IML) 2>&1" "tee -a $(SAGE_LOGS)/$(IML).log" |
249 | 234 | |
250 | 235 | $(INST)/$(ECLIB): $(BASE) $(INST)/$(MPIR) $(INST)/$(PARI) $(INST)/$(NTL) $(INST)/$(PATCH) |
251 | | $(INSTALL) "$(SAGE_SPKG) $(ECLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(ECLIB).log" |
| 236 | +$(PIPE) "$(SAGE_SPKG) $(ECLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(ECLIB).log" |
252 | 237 | |
253 | 238 | $(INST)/$(G2RED): $(BASE) $(INST)/$(PARI) $(INST)/$(PATCH) |
254 | | $(INSTALL) "$(SAGE_SPKG) $(G2RED) 2>&1" "tee -a $(SAGE_LOGS)/$(G2RED).log" |
| 239 | +$(PIPE) "$(SAGE_SPKG) $(G2RED) 2>&1" "tee -a $(SAGE_LOGS)/$(G2RED).log" |
255 | 240 | |
256 | 241 | $(INST)/$(PALP): $(BASE) $(INST)/$(PATCH) |
257 | | $(INSTALL) "$(SAGE_SPKG) $(PALP) 2>&1" "tee -a $(SAGE_LOGS)/$(PALP).log" |
| 242 | +$(PIPE) "$(SAGE_SPKG) $(PALP) 2>&1" "tee -a $(SAGE_LOGS)/$(PALP).log" |
258 | 243 | |
259 | 244 | $(INST)/$(LCALC): $(BASE) $(INST)/$(PARI) $(INST)/$(MPFR) $(INST)/$(PATCH) |
260 | | $(INSTALL) "$(SAGE_SPKG) $(LCALC) 2>&1" "tee -a $(SAGE_LOGS)/$(LCALC).log" |
| 245 | +$(PIPE) "$(SAGE_SPKG) $(LCALC) 2>&1" "tee -a $(SAGE_LOGS)/$(LCALC).log" |
261 | 246 | |
262 | 247 | $(INST)/$(PYNAC): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
263 | | $(INSTALL) "$(SAGE_SPKG) $(PYNAC) 2>&1" "tee -a $(SAGE_LOGS)/$(PYNAC).log" |
| 248 | +$(PIPE) "$(SAGE_SPKG) $(PYNAC) 2>&1" "tee -a $(SAGE_LOGS)/$(PYNAC).log" |
264 | 249 | |
265 | 250 | $(INST)/$(SYMPOW): $(BASE) $(INST)/$(PATCH) |
266 | | $(INSTALL) "$(SAGE_SPKG) $(SYMPOW) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMPOW).log" |
| 251 | +$(PIPE) "$(SAGE_SPKG) $(SYMPOW) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMPOW).log" |
267 | 252 | |
268 | 253 | $(INST)/$(SYMMETRICA): $(BASE) $(INST)/$(PATCH) |
269 | | $(INSTALL) "$(SAGE_SPKG) $(SYMMETRICA) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMMETRICA).log" |
| 254 | +$(PIPE) "$(SAGE_SPKG) $(SYMMETRICA) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMMETRICA).log" |
270 | 255 | |
271 | 256 | # GAP requires Sage so that gap_reset_workspace works: |
272 | 257 | $(INST)/$(GAP): $(BASE) $(INST)/$(READLINE) $(INST)/$(SAGE) $(INST)/$(PATCH) |
273 | | $(INSTALL) "$(SAGE_SPKG) $(GAP) 2>&1" "tee -a $(SAGE_LOGS)/$(GAP).log" |
| 258 | +$(PIPE) "$(SAGE_SPKG) $(GAP) 2>&1" "tee -a $(SAGE_LOGS)/$(GAP).log" |
274 | 259 | |
275 | 260 | $(INST)/$(IPYTHON): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
276 | | $(INSTALL) "$(SAGE_SPKG) $(IPYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(IPYTHON).log" |
| 261 | +$(PIPE) "$(SAGE_SPKG) $(IPYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(IPYTHON).log" |
277 | 262 | |
278 | 263 | $(INST)/$(PEXPECT): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
279 | | $(INSTALL) "$(SAGE_SPKG) $(PEXPECT) 2>&1" "tee -a $(SAGE_LOGS)/$(PEXPECT).log" |
| 264 | +$(PIPE) "$(SAGE_SPKG) $(PEXPECT) 2>&1" "tee -a $(SAGE_LOGS)/$(PEXPECT).log" |
280 | 265 | |
281 | 266 | $(INST)/$(GD): $(BASE) $(INST)/$(LIBPNG) $(INST)/$(FREETYPE) $(INST)/$(ICONV) $(INST)/$(PATCH) |
282 | | $(INSTALL) "$(SAGE_SPKG) $(GD) 2>&1" "tee -a $(SAGE_LOGS)/$(GD).log" |
| 267 | +$(PIPE) "$(SAGE_SPKG) $(GD) 2>&1" "tee -a $(SAGE_LOGS)/$(GD).log" |
283 | 268 | |
284 | 269 | $(INST)/$(GDMODULE): $(BASE) $(INST)/$(PYTHON) $(INST)/$(GD) $(INST)/$(ICONV) $(INST)/$(PATCH) |
285 | | $(INSTALL) "$(SAGE_SPKG) $(GDMODULE) 2>&1" "tee -a $(SAGE_LOGS)/$(GDMODULE).log" |
| 270 | +$(PIPE) "$(SAGE_SPKG) $(GDMODULE) 2>&1" "tee -a $(SAGE_LOGS)/$(GDMODULE).log" |
286 | 271 | |
287 | 272 | $(INST)/$(OPENCDK): $(BASE) $(INST)/$(ZLIB) $(INST)/$(LIBGCRYPT) $(INST)/$(PATCH) |
288 | | $(INSTALL) "$(SAGE_SPKG) $(OPENCDK) 2>&1" "tee -a $(SAGE_LOGS)/$(OPENCDK).log" |
| 273 | +$(PIPE) "$(SAGE_SPKG) $(OPENCDK) 2>&1" "tee -a $(SAGE_LOGS)/$(OPENCDK).log" |
289 | 274 | |
290 | 275 | $(INST)/$(LIBGPG_ERROR): $(BASE) $(INST)/$(ICONV) $(INST)/$(PATCH) |
291 | | $(INSTALL) "$(SAGE_SPKG) $(LIBGPG_ERROR) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGPG_ERROR).log" |
| 276 | +$(PIPE) "$(SAGE_SPKG) $(LIBGPG_ERROR) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGPG_ERROR).log" |
292 | 277 | |
293 | 278 | $(INST)/$(LIBGCRYPT): $(BASE) $(INST)/$(LIBGPG_ERROR) $(INST)/$(PATCH) |
294 | | $(INSTALL) "$(SAGE_SPKG) $(LIBGCRYPT) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGCRYPT).log" |
| 279 | +$(PIPE) "$(SAGE_SPKG) $(LIBGCRYPT) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGCRYPT).log" |
295 | 280 | |
296 | 281 | $(INST)/$(GNUTLS): $(BASE) $(INST)/$(ZLIB) $(INST)/$(OPENCDK) \ |
297 | 282 | $(INST)/$(LIBGCRYPT) $(INST)/$(LIBGPG_ERROR) $(INST)/$(PATCH) |
298 | | $(INSTALL) "$(SAGE_SPKG) $(GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(GNUTLS).log" |
| 283 | +$(PIPE) "$(SAGE_SPKG) $(GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(GNUTLS).log" |
299 | 284 | |
300 | 285 | $(INST)/$(PYTHON_GNUTLS): $(BASE) $(INST)/$(GNUTLS) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
301 | | $(INSTALL) "$(SAGE_SPKG) $(PYTHON_GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON_GNUTLS).log" |
| 286 | +$(PIPE) "$(SAGE_SPKG) $(PYTHON_GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON_GNUTLS).log" |
302 | 287 | |
303 | 288 | $(INST)/$(SCONS): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
304 | | $(INSTALL) "$(SAGE_SPKG) $(SCONS) 2>&1" "tee -a $(SAGE_LOGS)/$(SCONS).log" |
| 289 | +$(PIPE) "$(SAGE_SPKG) $(SCONS) 2>&1" "tee -a $(SAGE_LOGS)/$(SCONS).log" |
305 | 290 | |
306 | 291 | $(INST)/$(RUBIKS): $(BASE) $(INST)/$(PATCH) |
307 | | $(INSTALL) "$(SAGE_SPKG) $(RUBIKS) 2>&1" "tee -a $(SAGE_LOGS)/$(RUBIKS).log" |
| 292 | +$(PIPE) "$(SAGE_SPKG) $(RUBIKS) 2>&1" "tee -a $(SAGE_LOGS)/$(RUBIKS).log" |
308 | 293 | |
309 | 294 | # extcode must be built before MoinMoin because it has jsmath in it: |
310 | 295 | $(INST)/$(MOIN): $(BASE) $(INST)/$(PYTHON) $(INST)/$(EXTCODE) \ |
311 | 296 | $(INST)/$(SAGENB) $(INST)/$(PATCH) |
312 | | $(INSTALL) "$(SAGE_SPKG) $(MOIN) 2>&1" "tee -a $(SAGE_LOGS)/$(MOIN).log" |
| 297 | +$(PIPE) "$(SAGE_SPKG) $(MOIN) 2>&1" "tee -a $(SAGE_LOGS)/$(MOIN).log" |
313 | 298 | |
314 | 299 | $(INST)/$(SQLITE): $(BASE) $(INST)/$(READLINE) $(INST)/$(PATCH) |
315 | | $(INSTALL) "$(SAGE_SPKG) $(SQLITE) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLITE).log" |
| 300 | +$(PIPE) "$(SAGE_SPKG) $(SQLITE) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLITE).log" |
316 | 301 | |
317 | 302 | $(INST)/$(MERCURIAL): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
318 | | $(INSTALL) "$(SAGE_SPKG) $(MERCURIAL) 2>&1" "tee -a $(SAGE_LOGS)/$(MERCURIAL).log" |
| 303 | +$(PIPE) "$(SAGE_SPKG) $(MERCURIAL) 2>&1" "tee -a $(SAGE_LOGS)/$(MERCURIAL).log" |
319 | 304 | |
320 | 305 | # Make Sage and GAP prerequisites for sagetex so that as much of Sage |
321 | 306 | # is installed as possible: this is so that spkg-check works for |
… |
… |
|
323 | 308 | # you need a full Sage installation.) |
324 | 309 | $(INST)/$(SAGETEX): $(BASE) $(INST)/$(SAGE_SCRIPTS) \ |
325 | 310 | $(INST)/$(PYTHON) $(INST)/$(SAGE) $(INST)/$(GAP) $(INST)/$(PATCH) |
326 | | $(INSTALL) "$(SAGE_SPKG) $(SAGETEX) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGETEX).log" |
| 311 | +$(PIPE) "$(SAGE_SPKG) $(SAGETEX) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGETEX).log" |
327 | 312 | |
328 | 313 | $(INST)/$(SETUPTOOLS): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
329 | | $(INSTALL) "$(SAGE_SPKG) $(SETUPTOOLS) 2>&1" "tee -a $(SAGE_LOGS)/$(SETUPTOOLS).log" |
| 314 | +$(PIPE) "$(SAGE_SPKG) $(SETUPTOOLS) 2>&1" "tee -a $(SAGE_LOGS)/$(SETUPTOOLS).log" |
330 | 315 | |
331 | 316 | $(INST)/$(SINGULAR): $(BASE) $(INST)/$(MPIR) $(INST)/$(NTL) \ |
332 | 317 | $(INST)/$(READLINE) $(INST)/$(MPFR) $(INST)/$(PATCH) |
333 | | $(INSTALL) "$(SAGE_SPKG) $(SINGULAR) 2>&1" "tee -a $(SAGE_LOGS)/$(SINGULAR).log" |
| 318 | +$(PIPE) "$(SAGE_SPKG) $(SINGULAR) 2>&1" "tee -a $(SAGE_LOGS)/$(SINGULAR).log" |
334 | 319 | |
335 | 320 | $(INST)/$(PYCRYPTO): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
336 | | $(INSTALL) "$(SAGE_SPKG) $(PYCRYPTO) 2>&1" "tee -a $(SAGE_LOGS)/$(PYCRYPTO).log" |
| 321 | +$(PIPE) "$(SAGE_SPKG) $(PYCRYPTO) 2>&1" "tee -a $(SAGE_LOGS)/$(PYCRYPTO).log" |
337 | 322 | |
338 | 323 | $(INST)/$(NETWORKX): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
339 | | $(INSTALL) "$(SAGE_SPKG) $(NETWORKX) 2>&1" "tee -a $(SAGE_LOGS)/$(NETWORKX).log" |
| 324 | +$(PIPE) "$(SAGE_SPKG) $(NETWORKX) 2>&1" "tee -a $(SAGE_LOGS)/$(NETWORKX).log" |
340 | 325 | |
341 | 326 | $(INST)/$(MPMATH): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
342 | | $(INSTALL) "$(SAGE_SPKG) $(MPMATH) 2>&1" "tee -a $(SAGE_LOGS)/$(MPMATH).log" |
| 327 | +$(PIPE) "$(SAGE_SPKG) $(MPMATH) 2>&1" "tee -a $(SAGE_LOGS)/$(MPMATH).log" |
343 | 328 | |
344 | 329 | $(INST)/$(ZLIB): $(BASE) $(INST)/$(PATCH) |
345 | | $(INSTALL) "$(SAGE_SPKG) $(ZLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(ZLIB).log" |
| 330 | +$(PIPE) "$(SAGE_SPKG) $(ZLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(ZLIB).log" |
346 | 331 | |
347 | 332 | ## << NON-GUI matplotlib >> |
348 | 333 | $(INST)/$(FREETYPE): $(BASE) $(INST)/$(PATCH) |
349 | | $(INSTALL) "$(SAGE_SPKG) $(FREETYPE) 2>&1" "tee -a $(SAGE_LOGS)/$(FREETYPE).log" |
| 334 | +$(PIPE) "$(SAGE_SPKG) $(FREETYPE) 2>&1" "tee -a $(SAGE_LOGS)/$(FREETYPE).log" |
350 | 335 | |
351 | 336 | $(INST)/$(LIBPNG): $(BASE) $(INST)/$(ZLIB) $(INST)/$(PATCH) |
352 | | $(INSTALL) "$(SAGE_SPKG) $(LIBPNG) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBPNG).log" |
| 337 | +$(PIPE) "$(SAGE_SPKG) $(LIBPNG) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBPNG).log" |
353 | 338 | |
354 | 339 | $(INST)/$(MATPLOTLIB): $(BASE) $(INST)/$(PYTHON) $(INST)/$(NUMPY) \ |
355 | 340 | $(INST)/$(FREETYPE) $(INST)/$(LIBPNG) \ |
356 | 341 | $(INST)/$(GDMODULE) $(INST)/$(PATCH) |
357 | | $(INSTALL) "$(SAGE_SPKG) $(MATPLOTLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(MATPLOTLIB).log" |
| 342 | +$(PIPE) "$(SAGE_SPKG) $(MATPLOTLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(MATPLOTLIB).log" |
358 | 343 | #### |
359 | 344 | |
360 | 345 | $(INST)/$(CDDLIB): $(BASE) $(INST)/$(MPIR) $(INST)/$(PATCH) |
361 | | $(INSTALL) "$(SAGE_SPKG) $(CDDLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(CDDLIB).log" |
| 346 | +$(PIPE) "$(SAGE_SPKG) $(CDDLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(CDDLIB).log" |
362 | 347 | |
363 | 348 | $(INST)/$(GFAN): $(BASE) $(INST)/$(MPIR) $(INST)/$(CDDLIB) $(INST)/$(PATCH) |
364 | | $(INSTALL) "$(SAGE_SPKG) $(GFAN) 2>&1" "tee -a $(SAGE_LOGS)/$(GFAN).log" |
| 349 | +$(PIPE) "$(SAGE_SPKG) $(GFAN) 2>&1" "tee -a $(SAGE_LOGS)/$(GFAN).log" |
365 | 350 | |
366 | 351 | $(INST)/$(TACHYON): $(BASE) $(INST)/$(LIBPNG) $(INST)/$(PATCH) |
367 | | $(INSTALL) "$(SAGE_SPKG) $(TACHYON) 2>&1" "tee -a $(SAGE_LOGS)/$(TACHYON).log" |
| 352 | +$(PIPE) "$(SAGE_SPKG) $(TACHYON) 2>&1" "tee -a $(SAGE_LOGS)/$(TACHYON).log" |
368 | 353 | |
369 | 354 | $(INST)/$(ECM): $(BASE) $(INST)/$(MPIR) $(INST)/$(PATCH) |
370 | | $(INSTALL) "$(SAGE_SPKG) $(ECM) 2>&1" "tee -a $(SAGE_LOGS)/$(ECM).log" |
| 355 | +$(PIPE) "$(SAGE_SPKG) $(ECM) 2>&1" "tee -a $(SAGE_LOGS)/$(ECM).log" |
371 | 356 | |
372 | 357 | $(INST)/$(RATPOINTS): $(BASE) $(INST)/$(MPIR) $(INST)/$(PATCH) |
373 | | $(INSTALL) "$(SAGE_SPKG) $(RATPOINTS) 2>&1" "tee -a $(SAGE_LOGS)/$(RATPOINTS).log" |
| 358 | +$(PIPE) "$(SAGE_SPKG) $(RATPOINTS) 2>&1" "tee -a $(SAGE_LOGS)/$(RATPOINTS).log" |
374 | 359 | |
375 | 360 | $(INST)/$(ECL): $(BASE) $(INST)/$(MPIR) \ |
376 | 361 | $(INST)/$(READLINE) $(INST)/$(BOEHM_GC) $(INST)/$(PATCH) |
377 | | $(INSTALL) "$(SAGE_SPKG) $(ECL) 2>&1" "tee -a $(SAGE_LOGS)/$(ECL).log" |
| 362 | +$(PIPE) "$(SAGE_SPKG) $(ECL) 2>&1" "tee -a $(SAGE_LOGS)/$(ECL).log" |
378 | 363 | |
379 | 364 | $(INST)/$(MAXIMA): $(BASE) $(INST)/$(ECL) $(INST)/$(PATCH) |
380 | | $(INSTALL) "$(SAGE_SPKG) $(MAXIMA) 2>&1" "tee -a $(SAGE_LOGS)/$(MAXIMA).log" |
| 365 | +$(PIPE) "$(SAGE_SPKG) $(MAXIMA) 2>&1" "tee -a $(SAGE_LOGS)/$(MAXIMA).log" |
381 | 366 | |
382 | 367 | # Note that even with a separate RPy spkg (#9906), Sage's R will still depend on |
383 | 368 | # Python (but does no longer on SAGE_SCRIPTS, #10016): |
384 | 369 | $(INST)/$(R): $(BASE) $(INST)/$(PYTHON) $(INST)/$(ATLAS) $(INST)/$(ICONV) $(INST)/$(FORTRAN) $(INST)/$(PATCH) |
385 | | $(INSTALL) "$(SAGE_SPKG) $(R) 2>&1" "tee -a $(SAGE_LOGS)/$(R).log" |
| 370 | +$(PIPE) "$(SAGE_SPKG) $(R) 2>&1" "tee -a $(SAGE_LOGS)/$(R).log" |
386 | 371 | |
387 | 372 | # Needed when #9906 gets merged (moving RPy out of R's spkg): |
388 | 373 | # $(INST)/$(RPY): $(BASE) $(INST)/$(PYTHON) $(INST)/$(R) $(INST)/$(PATCH) |
389 | | # $(INSTALL) "$(SAGE_SPKG) $(RPY) 2>&1" "tee -a $(SAGE_LOGS)/$(RPY).log" |
| 374 | # +$(PIPE) "$(SAGE_SPKG) $(RPY) 2>&1" "tee -a $(SAGE_LOGS)/$(RPY).log" |
390 | 375 | |
391 | 376 | $(INST)/$(SYMPY): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
392 | | $(INSTALL) "$(SAGE_SPKG) $(SYMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMPY).log" |
| 377 | +$(PIPE) "$(SAGE_SPKG) $(SYMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMPY).log" |
393 | 378 | |
394 | 379 | $(INST)/$(CYTHON): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
395 | | $(INSTALL) "$(SAGE_SPKG) $(CYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(CYTHON).log" |
| 380 | +$(PIPE) "$(SAGE_SPKG) $(CYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(CYTHON).log" |
396 | 381 | |
397 | 382 | $(INST)/$(FLINTQS): $(BASE) $(INST)/$(MPIR) $(INST)/$(PATCH) |
398 | | $(INSTALL) "$(SAGE_SPKG) $(FLINTQS) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINTQS).log" |
| 383 | +$(PIPE) "$(SAGE_SPKG) $(FLINTQS) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINTQS).log" |
399 | 384 | |
400 | 385 | $(INST)/$(FLINT): $(BASE) $(INST)/$(MPIR) $(INST)/$(NTL) $(INST)/$(PATCH) |
401 | | $(INSTALL) "$(SAGE_SPKG) $(FLINT) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINT).log" |
| 386 | +$(PIPE) "$(SAGE_SPKG) $(FLINT) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINT).log" |
402 | 387 | |
403 | 388 | # Mercurial must be built before building extcode. See trac ticket #6508. |
404 | 389 | $(INST)/$(EXTCODE): $(BASE) $(INST)/$(MERCURIAL) $(INST)/$(PATCH) |
405 | | $(INSTALL) "$(SAGE_SPKG) $(EXTCODE) 2>&1" "tee -a $(SAGE_LOGS)/$(EXTCODE).log" |
| 390 | +$(PIPE) "$(SAGE_SPKG) $(EXTCODE) 2>&1" "tee -a $(SAGE_LOGS)/$(EXTCODE).log" |
406 | 391 | |
407 | 392 | $(INST)/$(LIBM4RI): $(BASE) $(INST)/$(PATCH) |
408 | | $(INSTALL) "$(SAGE_SPKG) $(LIBM4RI) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBM4RI).log" |
| 393 | +$(PIPE) "$(SAGE_SPKG) $(LIBM4RI) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBM4RI).log" |
409 | 394 | |
410 | 395 | $(INST)/$(LIBM4RIE): $(BASE) $(INST)/$(PATCH) $(INST)/$(LIBM4RI) |
411 | | $(INSTALL) "$(SAGE_SPKG) $(LIBM4RIE) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBM4RIE).log" |
| 396 | +$(PIPE) "$(SAGE_SPKG) $(LIBM4RIE) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBM4RIE).log" |
412 | 397 | |
413 | 398 | # zn_poly really does depend on Python, despite this is far from obvious. |
414 | 399 | # The 'configure' script in zn_poly calls Python to make a 'makefile'. |
415 | 400 | $(INST)/$(ZNPOLY): $(BASE) $(INST)/$(MPIR) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
416 | | $(INSTALL) "$(SAGE_SPKG) $(ZNPOLY) 2>&1" "tee -a $(SAGE_LOGS)/$(ZNPOLY).log" |
| 401 | +$(PIPE) "$(SAGE_SPKG) $(ZNPOLY) 2>&1" "tee -a $(SAGE_LOGS)/$(ZNPOLY).log" |
417 | 402 | |
418 | 403 | # the spkg-install file for the root repo uses many 'hg' commands, so |
419 | 404 | # build mercurial first. |
420 | 405 | $(INST)/$(SAGE_ROOT_REPO): $(BASE) $(INST)/$(MERCURIAL) $(INST)/$(PATCH) |
421 | | $(INSTALL) "$(SAGE_SPKG) $(SAGE_ROOT_REPO) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE_ROOT_REPO).log" |
| 406 | +$(PIPE) "$(SAGE_SPKG) $(SAGE_ROOT_REPO) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE_ROOT_REPO).log" |
422 | 407 | |
423 | 408 | # setuptools forgets to update easy-install.pth during parallel |
424 | 409 | # builds, so we build the relevant packages serially. Note: To avoid |
425 | 410 | # branching, we haven't given explicit dependencies, but the chain's |
426 | 411 | # order is important. |
427 | 412 | $(INST)/$(SAGENB): $(BASE) $(INST)/$(SQLALCHEMY) $(INST)/$(PATCH) |
428 | | $(INSTALL) "$(SAGE_SPKG) $(SAGENB) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGENB).log" |
| 413 | +$(PIPE) "$(SAGE_SPKG) $(SAGENB) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGENB).log" |
429 | 414 | |
430 | 415 | $(INST)/$(SQLALCHEMY): $(BASE) $(INST)/$(SPHINX) $(INST)/$(PATCH) |
431 | | $(INSTALL) "$(SAGE_SPKG) $(SQLALCHEMY) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLALCHEMY).log" |
| 416 | +$(PIPE) "$(SAGE_SPKG) $(SQLALCHEMY) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLALCHEMY).log" |
432 | 417 | |
433 | 418 | $(INST)/$(SPHINX): $(BASE) $(INST)/$(JINJA2) $(INST)/$(PATCH) |
434 | | $(INSTALL) "$(SAGE_SPKG) $(SPHINX) 2>&1" "tee -a $(SAGE_LOGS)/$(SPHINX).log" |
| 419 | +$(PIPE) "$(SAGE_SPKG) $(SPHINX) 2>&1" "tee -a $(SAGE_LOGS)/$(SPHINX).log" |
435 | 420 | |
436 | 421 | $(INST)/$(JINJA2): $(BASE) $(INST)/$(PYGMENTS) $(INST)/$(PATCH) |
437 | | $(INSTALL) "$(SAGE_SPKG) $(JINJA2) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA2).log" |
| 422 | +$(PIPE) "$(SAGE_SPKG) $(JINJA2) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA2).log" |
438 | 423 | |
439 | 424 | $(INST)/$(PYGMENTS): $(BASE) $(INST)/$(ZODB) $(INST)/$(PATCH) |
440 | | $(INSTALL) "$(SAGE_SPKG) $(PYGMENTS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYGMENTS).log" |
| 425 | +$(PIPE) "$(SAGE_SPKG) $(PYGMENTS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYGMENTS).log" |
441 | 426 | |
442 | 427 | $(INST)/$(ZODB): $(BASE) $(INST)/$(TWISTED) $(INST)/$(PATCH) |
443 | | $(INSTALL) "$(SAGE_SPKG) $(ZODB) 2>&1" "tee -a $(SAGE_LOGS)/$(ZODB).log" |
| 428 | +$(PIPE) "$(SAGE_SPKG) $(ZODB) 2>&1" "tee -a $(SAGE_LOGS)/$(ZODB).log" |
444 | 429 | |
445 | 430 | $(INST)/$(TWISTED): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PYTHON_GNUTLS) \ |
446 | 431 | $(INST)/$(PEXPECT) $(INST)/$(DOCUTILS) \ |
447 | 432 | $(INST)/$(SETUPTOOLS) $(INST)/$(PATCH) |
448 | | $(INSTALL) "$(SAGE_SPKG) $(TWISTED) 2>&1" "tee -a $(SAGE_LOGS)/$(TWISTED).log" |
| 433 | +$(PIPE) "$(SAGE_SPKG) $(TWISTED) 2>&1" "tee -a $(SAGE_LOGS)/$(TWISTED).log" |
449 | 434 | |
450 | 435 | # For reference and for when the setuptools problem is solved, here |
451 | 436 | # are the actual dependencies: |
… |
… |
|
513 | 498 | $(INST)/$(SYMMETRICA) \ |
514 | 499 | $(INST)/$(SYMPY) \ |
515 | 500 | $(INST)/$(ZNPOLY) |
516 | | $(INSTALL) "$(SAGE_SPKG) $(SAGE) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE).log" |
| 501 | +$(PIPE) "$(SAGE_SPKG) $(SAGE) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE).log" |
517 | 502 | # Needed when #9906 gets merged: |
518 | 503 | # $(INST)/$(RPY) \ |
519 | 504 | # (But move this up; it's just here because 'make' doesn't support comments |
520 | 505 | # within line continuations.) |
521 | 506 | |
| 507 | # Rather than making *all* standard packages depend on SAGE_SCRIPTS (which |
| 508 | # triggers the rebuild of *every* package on an upgrade), add SAGE_SCRIPTS |
| 509 | # to the dependencies of only those packages that rely on them. |
| 510 | # These are (as of Sage 4.7.2): |
| 511 | # - The Sage library, $(SAGE) |
| 512 | # - sagetex, but this in turn depends on $(SAGE) |
| 513 | $(INST)/$(SAGE_SCRIPTS): $(BASE) |
| 514 | +$(PIPE) "$(SAGE_SPKG) $(SAGE_SCRIPTS) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE_SCRIPTS).log" |
| 515 | |
522 | 516 | ############################################################################### |
523 | 517 | # Further receipts for normal packages: |
524 | 518 | ############################################################################### |
525 | 519 | |
526 | 520 | # Do not remove PYTHON below -- see trac 9368 |
527 | | $(INST)/$(FORTRAN): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
528 | | $(INSTALL) "$(SAGE_SPKG) $(FORTRAN) 2>&1" "tee -a $(SAGE_LOGS)/$(FORTRAN).log" |
| 521 | $(INST)/$(FORTRAN): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
| 522 | +$(PIPE) "$(SAGE_SPKG) $(FORTRAN) 2>&1" "tee -a $(SAGE_LOGS)/$(FORTRAN).log" |
529 | 523 | |
530 | 524 | $(INST)/$(F2C): $(BASE) $(INST)/$(FORTRAN) $(INST)/$(PATCH) |
531 | | $(INSTALL) "$(SAGE_SPKG) $(F2C) 2>&1" "tee -a $(SAGE_LOGS)/$(F2C).log" |
| 525 | +$(PIPE) "$(SAGE_SPKG) $(F2C) 2>&1" "tee -a $(SAGE_LOGS)/$(F2C).log" |
532 | 526 | |
533 | 527 | $(INST)/$(PIL): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PATCH) |
534 | | $(INSTALL) "$(SAGE_SPKG) $(PIL) 2>&1" "tee -a $(SAGE_LOGS)/$(PIL).log" |
| 528 | +$(PIPE) "$(SAGE_SPKG) $(PIL) 2>&1" "tee -a $(SAGE_LOGS)/$(PIL).log" |
535 | 529 | |
536 | 530 | $(INST)/$(LAPACK): $(BASE) $(INST)/$(FORTRAN) $(INST)/$(PATCH) |
537 | | $(INSTALL) "$(SAGE_SPKG) $(LAPACK) 2>&1" "tee -a $(SAGE_LOGS)/$(LAPACK).log" |
| 531 | +$(PIPE) "$(SAGE_SPKG) $(LAPACK) 2>&1" "tee -a $(SAGE_LOGS)/$(LAPACK).log" |
538 | 532 | |
539 | 533 | $(INST)/$(BLAS): $(BASE) $(INST)/$(FORTRAN) $(INST)/$(PATCH) |
540 | | $(INSTALL) "$(SAGE_SPKG) $(BLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(BLAS).log" |
| 534 | +$(PIPE) "$(SAGE_SPKG) $(BLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(BLAS).log" |
541 | 535 | |
542 | 536 | $(INST)/$(NUMPY): $(BASE) $(INST)/$(PYTHON) $(INST)/$(FORTRAN) $(INST)/$(F2C) \ |
543 | 537 | $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(ATLAS) $(INST)/$(PATCH) |
544 | | $(INSTALL) "$(SAGE_SPKG) $(NUMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(NUMPY).log" |
| 538 | +$(PIPE) "$(SAGE_SPKG) $(NUMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(NUMPY).log" |
545 | 539 | |
546 | 540 | $(INST)/$(SCIPY): $(BASE) $(INST)/$(FORTRAN) $(INST)/$(F2C) \ |
547 | 541 | $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(NUMPY) $(INST)/$(PATCH) |
548 | | $(INSTALL) "$(SAGE_SPKG) $(SCIPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SCIPY).log" |
| 542 | +$(PIPE) "$(SAGE_SPKG) $(SCIPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SCIPY).log" |
549 | 543 | |
550 | 544 | $(INST)/$(CVXOPT): $(BASE) $(INST)/$(FORTRAN) $(INST)/$(F2C) \ |
551 | 545 | $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(NUMPY) \ |
552 | 546 | $(INST)/$(ATLAS) $(INST)/$(CEPHES) $(INST)/$(PATCH) \ |
553 | 547 | $(INST)/$(GSL) $(INST)/$(GLPK) |
554 | | $(INSTALL) "$(SAGE_SPKG) $(CVXOPT) 2>&1" "tee -a $(SAGE_LOGS)/$(CVXOPT).log" |
| 548 | +$(PIPE) "$(SAGE_SPKG) $(CVXOPT) 2>&1" "tee -a $(SAGE_LOGS)/$(CVXOPT).log" |
555 | 549 | |
556 | 550 | $(INST)/$(CEPHES): $(BASE) $(INST)/$(PATCH) |
557 | | $(INSTALL) "$(SAGE_SPKG) $(CEPHES) 2>&1" "tee -a $(SAGE_LOGS)/$(CEPHES).log" |
| 551 | +$(PIPE) "$(SAGE_SPKG) $(CEPHES) 2>&1" "tee -a $(SAGE_LOGS)/$(CEPHES).log" |
558 | 552 | |
559 | 553 | ############################################################################### |