Ticket #8316: deps

File deps, 16.8 KB (added by mpatel, 12 years ago)

Updated spkg/standard/deps. Based on #8306.

Line 
1INST = installed
2SAGE_SPKG = sage-spkg
3INSTALL = $(SAGE_ROOT)/spkg/pipestatus
4
5# The base system; required in order to run sage-spkg
6BASE = $(INST)/$(PREREQ) $(INST)/$(DIR) $(INST)/$(SAGE_BZIP2)       
7
8# Also install scripts before we continue with other spkgs
9BASE += $(INST)/$(SAGE_SCRIPTS)
10
11# Tell make not to look for files with these (base)names:
12.PHONY: all base scripts
13
14# Targets
15all: $(INST)/$(ATLAS) \
16     $(INST)/$(BOEHM_GC) \
17     $(INST)/$(BOOST_CROPPED) \
18     $(INST)/$(CVXOPT) \
19     $(INST)/$(DOCUTILS) \
20     $(INST)/$(ECM) \
21     $(INST)/$(EXAMPLES) \
22     $(INST)/$(FLINT) \
23     $(INST)/$(FLINTQS) \
24     $(INST)/$(G2RED) \
25     $(INST)/$(GAP) \
26     $(INST)/$(GD) \
27     $(INST)/$(GDMODULE) \
28     $(INST)/$(GFAN) \
29     $(INST)/$(GHMM) \
30     $(INST)/$(GIVARO) \
31     $(INST)/$(GSL) \
32     $(INST)/$(ICONV) \
33     $(INST)/$(IML) \
34     $(INST)/$(LCALC) \
35     $(INST)/$(LINBOX) \
36     $(INST)/$(MATPLOTLIB) \
37     $(INST)/$(MAXIMA) \
38     $(INST)/$(MERCURIAL) \
39     $(INST)/$(MOIN) \
40     $(INST)/$(NUMPY) \
41     $(INST)/$(PALP) \
42     $(INST)/$(PIL) \
43     $(INST)/$(POLYBORI) \
44     $(INST)/$(POLYTOPES_DB) \
45     $(INST)/$(PYCRYPTO) \
46     $(INST)/$(PYNAC) \
47     $(INST)/$(PYTHON_GNUTLS) \
48     $(INST)/$(R) \
49     $(INST)/$(RUBIKS) \
50     $(INST)/$(SAGE) \
51     $(INST)/$(SAGE_SCRIPTS) \
52     $(INST)/$(SAGENB) \
53     $(INST)/$(SAGETEX) \
54     $(INST)/$(SCIPY) \
55     $(INST)/$(SCIPY_SANDBOX) \
56     $(INST)/$(SCONS) \
57     $(INST)/$(SETUPTOOLS) \
58     $(INST)/$(SINGULAR) \
59     $(INST)/$(SQLITE) \
60     $(INST)/$(SYMMETRICA) \
61     $(INST)/$(SYMPOW) \
62     $(INST)/$(TACHYON) \
63     $(INST)/$(WEAVE) \
64     $(INST)/$(ZNPOLY)
65
66base: $(BASE)
67
68scripts: $(BASE)
69
70########################################
71# Building the base system
72########################################
73$(INST)/$(DIR):
74        $(INSTALL) "base/$(DIR)-install 2>&1" "tee -a $(SAGE_LOGS)/$(DIR).log"
75
76$(INST)/$(PREREQ): $(INST)/$(DIR)
77        $(INSTALL) "base/$(PREREQ)-install 2>&1" "tee -a $(SAGE_LOGS)/$(PREREQ).log"
78
79$(INST)/$(SAGE_BZIP2): $(INST)/$(PREREQ) $(INST)/$(DIR)
80        $(INSTALL) "base/$(SAGE_BZIP2)-install 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE_BZIP2).log"
81
82$(INST)/$(SAGE_SCRIPTS): $(INST)/$(SAGE_BZIP2) $(INST)/$(PREREQ) \
83                         $(INST)/$(DIR)
84        $(INSTALL) "$(SAGE_SPKG) $(SAGE_SCRIPTS) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE_SCRIPTS).log"
85
86########################################
87# Building normal packages
88########################################
89$(INST)/$(ATLAS): $(BASE) $(INST)/$(LAPACK) $(INST)/$(PYTHON)
90        $(INSTALL) "$(SAGE_SPKG) $(ATLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(ATLAS).log"
91
92$(INST)/$(BOEHM_GC): $(BASE)
93        $(INSTALL) "$(SAGE_SPKG) $(BOEHM_GC) 2>&1" "tee -a $(SAGE_LOGS)/$(BOEHM_GC).log"
94
95$(INST)/$(BOOST_CROPPED): $(BASE)
96        $(INSTALL) "$(SAGE_SPKG) $(BOOST_CROPPED) 2>&1" "tee -a $(SAGE_LOGS)/$(BOOST_CROPPED).log"
97
98$(INST)/$(CLIQUER): $(BASE) $(INST)/$(SCONS)
99        $(INSTALL) "$(SAGE_SPKG) $(CLIQUER) 2>&1" "tee -a $(SAGE_LOGS)/$(CLIQUER).log"
100
101$(INST)/$(TERMCAP): $(BASE)
102        $(INSTALL) "$(SAGE_SPKG) $(TERMCAP) 2>&1" "tee -a $(SAGE_LOGS)/$(TERMCAP).log"
103
104$(INST)/$(READLINE): $(BASE)
105        $(INSTALL) "$(SAGE_SPKG) $(READLINE) 2>&1" "tee -a $(SAGE_LOGS)/$(READLINE).log"
106
107$(INST)/$(ICONV): $(BASE)
108        $(INSTALL) "$(SAGE_SPKG) $(ICONV) 2>&1" "tee -a $(SAGE_LOGS)/$(ICONV).log"
109
110$(INST)/$(DOCUTILS): $(INST)/$(PYTHON)
111        $(INSTALL) "$(SAGE_SPKG) $(DOCUTILS) 2>&1" "tee -a $(SAGE_LOGS)/$(DOCUTILS).log"
112
113$(INST)/$(ELLIPTIC_CURVES): $(BASE)
114        $(INSTALL) "$(SAGE_SPKG) $(ELLIPTIC_CURVES) 2>&1" "tee -a $(SAGE_LOGS)/$(ELLIPTIC_CURVES).log"
115
116$(INST)/$(CONWAY): $(BASE)
117        $(INSTALL) "$(SAGE_SPKG) $(CONWAY) 2>&1" "tee -a $(SAGE_LOGS)/$(CONWAY).log"
118
119$(INST)/$(GRAPHS): $(BASE)
120        $(INSTALL) "$(SAGE_SPKG) $(GRAPHS) 2>&1" "tee -a $(SAGE_LOGS)/$(GRAPHS).log"
121
122$(INST)/$(PYTHON): $(BASE) $(INST)/$(ZLIB) $(INST)/$(TERMCAP) \
123                   $(INST)/$(READLINE) $(INST)/$(SQLITE)      \
124                   $(INST)/$(GNUTLS) $(INST)/$(LIBPNG)
125        $(INSTALL) "$(SAGE_SPKG) $(PYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON).log"
126
127$(INST)/$(GHMM): $(BASE) $(INST)/$(GSL)
128        $(INSTALL) "$(SAGE_SPKG) $(GHMM) 2>&1" "tee -a $(SAGE_LOGS)/$(GHMM).log"
129
130$(INST)/$(MPIR): $(BASE) $(INST)/$(ICONV)
131        $(INSTALL) "$(SAGE_SPKG) $(MPIR) 2>&1" "tee -a $(SAGE_LOGS)/$(MPIR).log"
132
133$(INST)/$(GSL): $(BASE) $(INST)/$(ATLAS)
134        $(INSTALL) "$(SAGE_SPKG) $(GSL) 2>&1" "tee -a $(SAGE_LOGS)/$(GSL).log"
135
136$(INST)/$(NTL): $(BASE) $(INST)/$(MPIR)
137        $(INSTALL) "$(SAGE_SPKG) $(NTL) 2>&1" "tee -a $(SAGE_LOGS)/$(NTL).log"
138
139$(INST)/$(FPLLL): $(BASE) $(INST)/$(MPIR) $(INST)/$(MPFR)
140        $(INSTALL) "$(SAGE_SPKG) $(FPLLL) 2>&1" "tee -a $(SAGE_LOGS)/$(FPLLL).log"
141
142$(INST)/$(PARI): $(BASE) $(INST)/$(TERMCAP) $(INST)/$(READLINE) \
143                 $(INST)/$(MPIR)
144        $(INSTALL) "$(SAGE_SPKG) $(PARI) 2>&1" "tee -a $(SAGE_LOGS)/$(PARI).log"
145
146$(INST)/$(POLYBORI): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SCONS)  \
147                     $(INST)/$(BOOST_CROPPED) $(INST)/$(LIBM4RI)
148        $(INSTALL) "$(SAGE_SPKG) $(POLYBORI) 2>&1" "tee -a $(SAGE_LOGS)/$(POLYBORI).log"
149
150$(INST)/$(POLYTOPES_DB): $(BASE)
151        $(INSTALL) "$(SAGE_SPKG) $(POLYTOPES_DB) 2>&1" "tee -a $(SAGE_LOGS)/$(POLYTOPES_DB).log"
152
153$(INST)/$(MPFR): $(BASE) $(INST)/$(MPIR)
154        $(INSTALL) "$(SAGE_SPKG) $(MPFR) 2>&1" "tee -a $(SAGE_LOGS)/$(MPFR).log"
155
156$(INST)/$(MPFI): $(BASE) $(INST)/$(MPIR) $(INST)/$(MPFR)
157        $(INSTALL) "$(SAGE_SPKG) $(MPFI) 2>&1" "tee -a $(SAGE_LOGS)/$(MPFI).log"
158
159$(INST)/$(GIVARO): $(BASE) $(INST)/$(MPIR)
160        $(INSTALL) "$(SAGE_SPKG) $(GIVARO) 2>&1" "tee -a $(SAGE_LOGS)/$(GIVARO).log"
161
162$(INST)/$(LINBOX): $(BASE) $(INST)/$(MPIR) $(INST)/$(NTL) $(INST)/$(GIVARO) \
163                   $(INST)/$(GSL) $(INST)/$(ATLAS)
164        $(INSTALL) "$(SAGE_SPKG) $(LINBOX) 2>&1" "tee -a $(SAGE_LOGS)/$(LINBOX).log"
165
166$(INST)/$(IML): $(BASE) $(INST)/$(MPIR) $(INST)/$(GSL)
167        $(INSTALL) "$(SAGE_SPKG) $(IML) 2>&1" "tee -a $(SAGE_LOGS)/$(IML).log"
168
169$(INST)/$(ECLIB): $(BASE) $(INST)/$(MPIR) $(INST)/$(PARI) $(INST)/$(NTL)
170        $(INSTALL) "$(SAGE_SPKG) $(ECLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(ECLIB).log"
171
172$(INST)/$(G2RED): $(BASE) $(INST)/$(PARI)
173        $(INSTALL) "$(SAGE_SPKG) $(G2RED) 2>&1" "tee -a $(SAGE_LOGS)/$(G2RED).log"
174
175$(INST)/$(PALP): $(BASE)
176        $(INSTALL) "$(SAGE_SPKG) $(PALP) 2>&1" "tee -a $(SAGE_LOGS)/$(PALP).log"
177
178$(INST)/$(LCALC): $(BASE) $(INST)/$(PARI) $(INST)/$(MPFR)
179        $(INSTALL) "$(SAGE_SPKG) $(LCALC) 2>&1" "tee -a $(SAGE_LOGS)/$(LCALC).log"
180
181$(INST)/$(PYNAC): $(INST)/$(PYTHON)
182        $(INSTALL) "$(SAGE_SPKG) $(PYNAC) 2>&1" "tee -a $(SAGE_LOGS)/$(PYNAC).log"
183
184$(INST)/$(SYMPOW): $(BASE)
185        $(INSTALL) "$(SAGE_SPKG) $(SYMPOW) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMPOW).log"
186
187$(INST)/$(SYMMETRICA): $(BASE)
188        $(INSTALL) "$(SAGE_SPKG) $(SYMMETRICA) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMMETRICA).log"
189
190# gap requires SAGE so that gap_reset_workspace works.
191$(INST)/$(GAP): $(BASE) $(INST)/$(TERMCAP) $(INST)/$(READLINE) $(INST)/$(SAGE)
192        $(INSTALL) "$(SAGE_SPKG) $(GAP) 2>&1" "tee -a $(SAGE_LOGS)/$(GAP).log"
193
194$(INST)/$(IPYTHON): $(INST)/$(PYTHON)
195        $(INSTALL) "$(SAGE_SPKG) $(IPYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(IPYTHON).log"
196
197$(INST)/$(PEXPECT): $(INST)/$(PYTHON)
198        $(INSTALL) "$(SAGE_SPKG) $(PEXPECT) 2>&1" "tee -a $(SAGE_LOGS)/$(PEXPECT).log"
199
200$(INST)/$(GD): $(INST)/$(LIBPNG) $(INST)/$(FREETYPE) $(INST)/$(ICONV)
201        $(INSTALL) "$(SAGE_SPKG) $(GD) 2>&1" "tee -a $(SAGE_LOGS)/$(GD).log"
202
203$(INST)/$(GDMODULE): $(INST)/$(PYTHON) $(INST)/$(GD) $(INST)/$(ICONV)
204        $(INSTALL) "$(SAGE_SPKG) $(GDMODULE) 2>&1" "tee -a $(SAGE_LOGS)/$(GDMODULE).log"
205
206$(INST)/$(OPENCDK):  $(INST)/$(ZLIB)  $(INST)/$(LIBGCRYPT)
207        $(INSTALL) "$(SAGE_SPKG) $(OPENCDK) 2>&1" "tee -a $(SAGE_LOGS)/$(OPENCDK).log"
208
209$(INST)/$(LIBGPG_ERROR): $(INST)/$(ICONV)
210        $(INSTALL) "$(SAGE_SPKG) $(LIBGPG_ERROR) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGPG_ERROR).log"
211
212$(INST)/$(LIBGCRYPT):  $(INST)/$(LIBGPG_ERROR)
213        $(INSTALL) "$(SAGE_SPKG) $(LIBGCRYPT) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGCRYPT).log"
214
215$(INST)/$(GNUTLS):  $(INST)/$(ZLIB) $(INST)/$(OPENCDK) $(INST)/$(LIBGCRYPT) \
216                    $(INST)/$(LIBGPG_ERROR)
217        $(INSTALL) "$(SAGE_SPKG) $(GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(GNUTLS).log"
218
219$(INST)/$(PYTHON_GNUTLS):  $(INST)/$(GNUTLS) $(INST)/$(PYTHON)
220        $(INSTALL) "$(SAGE_SPKG) $(PYTHON_GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON_GNUTLS).log"
221
222$(INST)/$(SCONS):  $(INST)/$(PYTHON)
223        $(INSTALL) "$(SAGE_SPKG) $(SCONS) 2>&1" "tee -a $(SAGE_LOGS)/$(SCONS).log"
224
225#$(INST)/$(OPENSSL): $(BASE)
226#       $(INSTALL) "$(SAGE_SPKG) $(OPENSSL) 2>&1" "tee -a $(SAGE_LOGS)/$(OPENSSL).log"
227
228#$(INST)/$(PYOPENSSL): $(INST)/$(PYTHON) $(INST)/$(OPENSSL)
229#       $(INSTALL) "$(SAGE_SPKG) $(PYOPENSSL) 2>&1" "tee -a $(SAGE_LOGS)/$(PYOPENSSL).log"
230
231$(INST)/$(RUBIKS): $(BASE)
232        $(INSTALL) "$(SAGE_SPKG) $(RUBIKS) 2>&1" "tee -a $(SAGE_LOGS)/$(RUBIKS).log"
233
234# extcode must be built before moin moin because it has the jsmath in it.
235$(INST)/$(MOIN): $(INST)/$(PYTHON) $(INST)/$(EXTCODE) $(INST)/$(SAGENB)
236        $(INSTALL) "$(SAGE_SPKG) $(MOIN) 2>&1" "tee -a $(SAGE_LOGS)/$(MOIN).log"
237
238$(INST)/$(SQLITE): $(INST)/$(TERMCAP) $(INST)/$(READLINE)
239        $(INSTALL) "$(SAGE_SPKG) $(SQLITE) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLITE).log"
240
241$(INST)/$(MERCURIAL): $(INST)/$(PYTHON)
242        $(INSTALL) "$(SAGE_SPKG) $(MERCURIAL) 2>&1" "tee -a $(SAGE_LOGS)/$(MERCURIAL).log"
243
244$(INST)/$(SAGETEX): $(INST)/$(PYTHON)
245        $(INSTALL) "$(SAGE_SPKG) $(SAGETEX) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGETEX).log"
246
247$(INST)/$(SETUPTOOLS): $(INST)/$(PYTHON)
248        $(INSTALL) "$(SAGE_SPKG) $(SETUPTOOLS) 2>&1" "tee -a $(SAGE_LOGS)/$(SETUPTOOLS).log"
249
250$(INST)/$(SINGULAR): $(BASE) $(INST)/$(MPIR) $(INST)/$(NTL) \
251                     $(INST)/$(TERMCAP) $(INST)/$(READLINE) $(INST)/$(MPFR)
252        $(INSTALL) "$(SAGE_SPKG) $(SINGULAR) 2>&1" "tee -a $(SAGE_LOGS)/$(SINGULAR).log"
253
254$(INST)/$(PYCRYPTO): $(BASE) $(INST)/$(PYTHON)
255        $(INSTALL) "$(SAGE_SPKG) $(PYCRYPTO) 2>&1" "tee -a $(SAGE_LOGS)/$(PYCRYPTO).log"
256
257$(INST)/$(WEAVE): $(BASE) $(INST)/$(NUMPY)
258        $(INSTALL) "$(SAGE_SPKG) $(WEAVE) 2>&1" "tee -a $(SAGE_LOGS)/$(WEAVE).log"
259
260$(INST)/$(NETWORKX): $(BASE) $(INST)/$(PYTHON)
261        $(INSTALL) "$(SAGE_SPKG) $(NETWORKX) 2>&1" "tee -a $(SAGE_LOGS)/$(NETWORKX).log"
262
263$(INST)/$(MPMATH): $(BASE) $(INST)/$(PYTHON)
264        $(INSTALL) "$(SAGE_SPKG) $(MPMATH) 2>&1" "tee -a $(SAGE_LOGS)/$(MPMATH).log"
265
266$(INST)/$(ZLIB): $(BASE)
267        $(INSTALL) "$(SAGE_SPKG) $(ZLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(ZLIB).log"
268
269##  << NON-GUI matplotlib >>
270$(INST)/$(FREETYPE): $(BASE)
271        $(INSTALL) "$(SAGE_SPKG) $(FREETYPE) 2>&1" "tee -a $(SAGE_LOGS)/$(FREETYPE).log"
272
273$(INST)/$(LIBPNG): $(BASE)
274        $(INSTALL) "$(SAGE_SPKG) $(LIBPNG) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBPNG).log"
275
276$(INST)/$(MATPLOTLIB): $(BASE) $(INST)/$(PYTHON) $(INST)/$(NUMPY) \
277                       $(INST)/$(FREETYPE) $(INST)/$(LIBPNG)      \
278                       $(INST)/$(GDMODULE)
279        $(INSTALL) "$(SAGE_SPKG) $(MATPLOTLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(MATPLOTLIB).log"
280####
281
282$(INST)/$(CDDLIB): $(BASE) $(INST)/$(MPIR)
283        $(INSTALL) "$(SAGE_SPKG) $(CDDLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(CDDLIB).log"
284
285$(INST)/$(GFAN): $(BASE) $(INST)/$(MPIR) $(INST)/$(CDDLIB)
286        $(INSTALL) "$(SAGE_SPKG) $(GFAN) 2>&1" "tee -a $(SAGE_LOGS)/$(GFAN).log"
287
288$(INST)/$(TACHYON): $(BASE) $(INST)/$(LIBPNG)
289        $(INSTALL) "$(SAGE_SPKG) $(TACHYON) 2>&1" "tee -a $(SAGE_LOGS)/$(TACHYON).log"
290
291$(INST)/$(ECM): $(BASE) $(INST)/$(MPIR)
292        $(INSTALL) "$(SAGE_SPKG) $(ECM) 2>&1" "tee -a $(SAGE_LOGS)/$(ECM).log"
293
294$(INST)/$(RATPOINTS): $(BASE) $(INST)/$(MPIR)
295        $(INSTALL) "$(SAGE_SPKG) $(RATPOINTS) 2>&1" "tee -a $(SAGE_LOGS)/$(RATPOINTS).log"
296
297$(INST)/$(ECL): $(BASE) $(INST)/$(MPIR) $(INST)/$(TERMCAP) \
298                $(INST)/$(READLINE) $(INST)/$(BOEHM_GC)
299        $(INSTALL) "$(SAGE_SPKG) $(ECL) 2>&1" "tee -a $(SAGE_LOGS)/$(ECL).log"
300
301$(INST)/$(MAXIMA): $(BASE) $(INST)/$(ECL)
302        $(INSTALL) "$(SAGE_SPKG) $(MAXIMA) 2>&1" "tee -a $(SAGE_LOGS)/$(MAXIMA).log"
303
304$(INST)/$(R): $(INST)/$(PYTHON) $(INST)/$(ATLAS) $(INST)/$(ICONV)
305        $(INSTALL) "$(SAGE_SPKG) $(R) 2>&1" "tee -a $(SAGE_LOGS)/$(R).log"
306
307$(INST)/$(SYMPY): $(INST)/$(PYTHON)
308        $(INSTALL) "$(SAGE_SPKG) $(SYMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMPY).log"
309
310$(INST)/$(CYTHON): $(INST)/$(PYTHON)
311        $(INSTALL) "$(SAGE_SPKG) $(CYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(CYTHON).log"
312
313$(INST)/$(FLINTQS): $(INST)/$(MPIR)
314        $(INSTALL) "$(SAGE_SPKG) $(FLINTQS) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINTQS).log"
315
316$(INST)/$(FLINT): $(INST)/$(MPIR) $(INST)/$(NTL)
317        $(INSTALL) "$(SAGE_SPKG) $(FLINT) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINT).log"
318
319# Mercurial must be built before building extcode. See trac ticket #6508.
320$(INST)/$(EXTCODE): $(BASE) $(INST)/$(MERCURIAL)
321        $(INSTALL) "$(SAGE_SPKG) $(EXTCODE) 2>&1" "tee -a $(SAGE_LOGS)/$(EXTCODE).log"
322
323$(INST)/$(EXAMPLES): $(BASE)
324        $(INSTALL) "$(SAGE_SPKG) $(EXAMPLES) 2>&1" "tee -a $(SAGE_LOGS)/$(EXAMPLES).log"
325
326$(INST)/$(LIBM4RI): $(BASE)
327        $(INSTALL) "$(SAGE_SPKG) $(LIBM4RI) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBM4RI).log"
328
329$(INST)/$(ZNPOLY): $(INST)/$(MPIR)
330        $(INSTALL) "$(SAGE_SPKG) $(ZNPOLY) 2>&1" "tee -a $(SAGE_LOGS)/$(ZNPOLY).log"
331
332# setuptools forgets to update easy-install.pth during parallel
333# builds, so we build the relevant packages serially.  Note: To avoid
334# branching, we haven't given explicit dependencies, but the chain's
335# order is important.
336$(INST)/$(SAGENB): $(INST)/$(SQLALCHEMY)
337        $(INSTALL) "$(SAGE_SPKG) $(SAGENB) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGENB).log"
338
339$(INST)/$(SQLALCHEMY): $(INST)/$(SPHINX)
340        $(INSTALL) "$(SAGE_SPKG) $(SQLALCHEMY) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLALCHEMY).log"
341
342$(INST)/$(SPHINX): $(INST)/$(JINJA2)
343        $(INSTALL) "$(SAGE_SPKG) $(SPHINX) 2>&1" "tee -a $(SAGE_LOGS)/$(SPHINX).log"
344
345$(INST)/$(JINJA2): $(INST)/$(PYGMENTS)
346        $(INSTALL) "$(SAGE_SPKG) $(JINJA2) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA2).log"
347
348$(INST)/$(PYGMENTS): $(INST)/$(ZODB)
349        $(INSTALL) "$(SAGE_SPKG) $(PYGMENTS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYGMENTS).log"
350
351$(INST)/$(ZODB): $(INST)/$(TWISTED)
352        $(INSTALL) "$(SAGE_SPKG) $(ZODB) 2>&1" "tee -a $(SAGE_LOGS)/$(ZODB).log"
353
354$(INST)/$(TWISTED): $(INST)/$(PYTHON) $(INST)/$(PYTHON_GNUTLS)  \
355                    $(INST)/$(PEXPECT) $(INST)/$(DOCUTILS)      \
356                    $(INST)/$(SETUPTOOLS)
357        $(INSTALL) "$(SAGE_SPKG) $(TWISTED) 2>&1" "tee -a $(SAGE_LOGS)/$(TWISTED).log"
358
359# For reference and for when the setuptools problem is solved, here
360# are the actual dependencies:
361#
362# sagenb: python pexpect twisted jinja2 sphinx docutils setuptools
363# sqlalchemy: python setuptools
364# sphinx: docutils jinja2 pygments
365# jinja2: python docutils setuptools
366# pygments: python setuptools
367# twisted: python python_gnutls setuptools
368# zodb: python setuptools
369
370# All components that are linked against extensions need to be listed here
371$(INST)/$(SAGE):  $(BASE) \
372                  $(INST)/$(ATLAS) \
373                  $(INST)/$(CEPHES) \
374                  $(INST)/$(CLIQUER) \
375                  $(INST)/$(CONWAY) \
376                  $(INST)/$(CYTHON)  \
377                  $(INST)/$(DOCUTILS) \
378                  $(INST)/$(ECL) \
379                  $(INST)/$(ECLIB) \
380                  $(INST)/$(ECM) \
381                  $(INST)/$(ELLIPTIC_CURVES) \
382                  $(INST)/$(EXTCODE) \
383                  $(INST)/$(FLINT)  \
384                  $(INST)/$(FPLLL) \
385                  $(INST)/$(GDMODULE)  \
386                  $(INST)/$(GHMM) \
387                  $(INST)/$(GRAPHS) \
388                  $(INST)/$(GIVARO) \
389                  $(INST)/$(GSL) \
390                  $(INST)/$(IML) \
391                  $(INST)/$(IPYTHON)  \
392                  $(INST)/$(LIBM4RI) \
393                  $(INST)/$(LINBOX) \
394                  $(INST)/$(MATPLOTLIB) \
395                  $(INST)/$(MERCURIAL) \
396                  $(INST)/$(MPFI) \
397                  $(INST)/$(MPFR) \
398                  $(INST)/$(MPIR)  \
399                  $(INST)/$(MPMATH) \
400                  $(INST)/$(NETWORKX) \
401                  $(INST)/$(NTL) \
402                  $(INST)/$(NUMPY) \
403                  $(INST)/$(PARI)  \
404                  $(INST)/$(PEXPECT)  \
405                  $(INST)/$(POLYBORI) \
406                  $(INST)/$(PYCRYPTO) \
407                  $(INST)/$(PYNAC) \
408                  $(INST)/$(PYTHON)  \
409                  $(INST)/$(R) \
410                  $(INST)/$(RATPOINTS) \
411                  $(INST)/$(RUBIKS) \
412                  $(INST)/$(SAGENB) \
413                  $(INST)/$(SCONS)  \
414                  $(INST)/$(SETUPTOOLS) \
415                  $(INST)/$(SINGULAR) \
416                  $(INST)/$(SYMMETRICA) \
417                  $(INST)/$(SYMPY)  \
418                  $(INST)/$(ZNPOLY)
419        $(INSTALL) "$(SAGE_SPKG) $(SAGE) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE).log"
420
421$(INST)/$(FORTRAN):
422        $(INSTALL) "$(SAGE_SPKG) $(FORTRAN) 2>&1" "tee -a $(SAGE_LOGS)/$(FORTRAN).log"
423
424$(INST)/$(F2C): $(INST)/$(FORTRAN)
425        $(INSTALL) "$(SAGE_SPKG) $(INST)/$(F2C) 2>&1" "tee -a $(SAGE_LOGS)/$(F2C).log"
426
427$(INST)/$(PIL): $(INST)/$(PYTHON)
428        $(INSTALL) "$(SAGE_SPKG) $(PIL) 2>&1" "tee -a $(SAGE_LOGS)/$(PIL).log"
429
430$(INST)/$(LAPACK): $(INST)/$(FORTRAN)
431        $(INSTALL) "$(SAGE_SPKG) $(INST)/$(LAPACK) 2>&1" "tee -a $(SAGE_LOGS)/$(LAPACK).log"
432
433$(INST)/$(BLAS): $(INST)/$(FORTRAN)
434        $(INSTALL) "$(SAGE_SPKG) $(INST)/$(BLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(BLAS).log"
435
436$(INST)/$(NUMPY): $(BASE) $(INST)/$(PYTHON) $(INST)/$(FORTRAN) $(INST)/$(F2C) \
437                  $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(ATLAS)
438        $(INSTALL) "$(SAGE_SPKG) $(NUMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(NUMPY).log"
439
440$(INST)/$(SCIPY): $(INST)/$(FORTRAN) $(INST)/$(F2C) $(INST)/$(LAPACK) \
441                  $(INST)/$(BLAS) $(INST)/$(NUMPY)
442        $(INSTALL) "$(SAGE_SPKG) $(SCIPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SCIPY).log"
443
444$(INST)/$(SCIPY_SANDBOX): $(INST)/$(SCIPY)
445        $(INSTALL) "$(SAGE_SPKG) $(SCIPY_SANDBOX) 2>&1" "tee -a $(SAGE_LOGS)/$(SCIPY_SANDBOX).log"
446
447$(INST)/$(CVXOPT): $(INST)/$(FORTRAN) $(INST)/$(F2C) $(INST)/$(LAPACK) \
448                   $(INST)/$(BLAS) $(INST)/$(NUMPY) $(INST)/$(ATLAS) \
449                   $(INST)/$(CEPHES)
450        $(INSTALL) "$(SAGE_SPKG) $(CVXOPT) 2>&1" "tee -a $(SAGE_LOGS)/$(CVXOPT).log"
451
452$(INST)/$(CEPHES):
453        $(INSTALL) "$(SAGE_SPKG) $(CEPHES) 2>&1" "tee -a $(SAGE_LOGS)/$(CEPHES).log"