Ticket #9351: deps

File deps, 17.1 KB (added by jhpalmieri, 9 years ago)

the file SAGE_ROOT/spkg/standard/deps

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)/$(GIVARO) \
30     $(INST)/$(GSL) \
31     $(INST)/$(ICONV) \
32     $(INST)/$(IML) \
33     $(INST)/$(LCALC) \
34     $(INST)/$(LINBOX) \
35     $(INST)/$(MATPLOTLIB) \
36     $(INST)/$(MAXIMA) \
37     $(INST)/$(MERCURIAL) \
38     $(INST)/$(MOIN) \
39     $(INST)/$(NUMPY) \
40     $(INST)/$(PALP) \
41     $(INST)/$(PIL) \
42     $(INST)/$(POLYBORI) \
43     $(INST)/$(POLYTOPES_DB) \
44     $(INST)/$(PYCRYPTO) \
45     $(INST)/$(PYNAC) \
46     $(INST)/$(PYTHON_GNUTLS) \
47     $(INST)/$(R) \
48     $(INST)/$(RUBIKS) \
49     $(INST)/$(SAGE) \
50     $(INST)/$(SAGE_SCRIPTS) \
51     $(INST)/$(SAGENB) \
52     $(INST)/$(SAGETEX) \
53     $(INST)/$(SCIPY) \
54     $(INST)/$(SCIPY_SANDBOX) \
55     $(INST)/$(SCONS) \
56     $(INST)/$(SETUPTOOLS) \
57     $(INST)/$(SINGULAR) \
58     $(INST)/$(SQLITE) \
59     $(INST)/$(SYMMETRICA) \
60     $(INST)/$(SYMPOW) \
61     $(INST)/$(TACHYON) \
62     $(INST)/$(WEAVE) \
63     $(INST)/$(ZNPOLY)
64
65base: $(BASE)
66
67scripts: $(BASE)
68
69########################################
70# Building the base system
71########################################
72$(INST)/$(DIR):
73        $(INSTALL) "base/$(DIR)-install 2>&1" "tee -a $(SAGE_LOGS)/$(DIR).log"
74
75$(INST)/$(PREREQ): $(INST)/$(DIR)
76        $(INSTALL) "base/$(PREREQ)-install 2>&1" "tee -a $(SAGE_LOGS)/$(PREREQ).log"
77
78$(INST)/$(SAGE_BZIP2): $(INST)/$(PREREQ) $(INST)/$(DIR)
79        $(INSTALL) "base/$(SAGE_BZIP2)-install 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE_BZIP2).log"
80
81$(INST)/$(SAGE_SCRIPTS): $(INST)/$(SAGE_BZIP2) $(INST)/$(PREREQ) \
82                         $(INST)/$(DIR)
83        $(INSTALL) "$(SAGE_SPKG) $(SAGE_SCRIPTS) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE_SCRIPTS).log"
84
85########################################
86# Building normal packages
87########################################
88$(INST)/$(ATLAS): $(BASE) $(INST)/$(LAPACK) $(INST)/$(PYTHON)
89        $(INSTALL) "$(SAGE_SPKG) $(ATLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(ATLAS).log"
90
91$(INST)/$(BOEHM_GC): $(BASE)
92        $(INSTALL) "$(SAGE_SPKG) $(BOEHM_GC) 2>&1" "tee -a $(SAGE_LOGS)/$(BOEHM_GC).log"
93
94$(INST)/$(BOOST_CROPPED): $(BASE)
95        $(INSTALL) "$(SAGE_SPKG) $(BOOST_CROPPED) 2>&1" "tee -a $(SAGE_LOGS)/$(BOOST_CROPPED).log"
96
97$(INST)/$(CLIQUER): $(BASE) $(INST)/$(SCONS)
98        $(INSTALL) "$(SAGE_SPKG) $(CLIQUER) 2>&1" "tee -a $(SAGE_LOGS)/$(CLIQUER).log"
99
100$(INST)/$(TERMCAP): $(BASE)
101        $(INSTALL) "$(SAGE_SPKG) $(TERMCAP) 2>&1" "tee -a $(SAGE_LOGS)/$(TERMCAP).log"
102
103$(INST)/$(READLINE): $(BASE)
104        $(INSTALL) "$(SAGE_SPKG) $(READLINE) 2>&1" "tee -a $(SAGE_LOGS)/$(READLINE).log"
105
106$(INST)/$(ICONV): $(BASE)
107        $(INSTALL) "$(SAGE_SPKG) $(ICONV) 2>&1" "tee -a $(SAGE_LOGS)/$(ICONV).log"
108
109$(INST)/$(DOCUTILS): $(INST)/$(PYTHON)
110        $(INSTALL) "$(SAGE_SPKG) $(DOCUTILS) 2>&1" "tee -a $(SAGE_LOGS)/$(DOCUTILS).log"
111
112$(INST)/$(ELLIPTIC_CURVES): $(BASE)
113        $(INSTALL) "$(SAGE_SPKG) $(ELLIPTIC_CURVES) 2>&1" "tee -a $(SAGE_LOGS)/$(ELLIPTIC_CURVES).log"
114
115$(INST)/$(CONWAY): $(BASE)
116        $(INSTALL) "$(SAGE_SPKG) $(CONWAY) 2>&1" "tee -a $(SAGE_LOGS)/$(CONWAY).log"
117
118$(INST)/$(GRAPHS): $(BASE)
119        $(INSTALL) "$(SAGE_SPKG) $(GRAPHS) 2>&1" "tee -a $(SAGE_LOGS)/$(GRAPHS).log"
120
121$(INST)/$(PYTHON): $(BASE) $(INST)/$(ZLIB) $(INST)/$(TERMCAP) \
122                   $(INST)/$(READLINE) $(INST)/$(SQLITE)      \
123                   $(INST)/$(GNUTLS) $(INST)/$(LIBPNG)
124        $(INSTALL) "$(SAGE_SPKG) $(PYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON).log"
125
126$(INST)/$(MPIR): $(BASE) $(INST)/$(ICONV)
127        $(INSTALL) "$(SAGE_SPKG) $(MPIR) 2>&1" "tee -a $(SAGE_LOGS)/$(MPIR).log"
128
129$(INST)/$(GSL): $(BASE) $(INST)/$(ATLAS)
130        $(INSTALL) "$(SAGE_SPKG) $(GSL) 2>&1" "tee -a $(SAGE_LOGS)/$(GSL).log"
131
132$(INST)/$(NTL): $(BASE) $(INST)/$(MPIR)
133        $(INSTALL) "$(SAGE_SPKG) $(NTL) 2>&1" "tee -a $(SAGE_LOGS)/$(NTL).log"
134
135$(INST)/$(FPLLL): $(BASE) $(INST)/$(MPIR) $(INST)/$(MPFR)
136        $(INSTALL) "$(SAGE_SPKG) $(FPLLL) 2>&1" "tee -a $(SAGE_LOGS)/$(FPLLL).log"
137
138$(INST)/$(PARI): $(BASE) $(INST)/$(TERMCAP) $(INST)/$(READLINE) \
139                 $(INST)/$(MPIR)
140        $(INSTALL) "$(SAGE_SPKG) $(PARI) 2>&1" "tee -a $(SAGE_LOGS)/$(PARI).log"
141
142$(INST)/$(POLYBORI): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SCONS)  \
143                     $(INST)/$(BOOST_CROPPED) $(INST)/$(LIBM4RI)
144        $(INSTALL) "$(SAGE_SPKG) $(POLYBORI) 2>&1" "tee -a $(SAGE_LOGS)/$(POLYBORI).log"
145
146$(INST)/$(POLYTOPES_DB): $(BASE)
147        $(INSTALL) "$(SAGE_SPKG) $(POLYTOPES_DB) 2>&1" "tee -a $(SAGE_LOGS)/$(POLYTOPES_DB).log"
148
149$(INST)/$(MPFR): $(BASE) $(INST)/$(MPIR)
150        $(INSTALL) "$(SAGE_SPKG) $(MPFR) 2>&1" "tee -a $(SAGE_LOGS)/$(MPFR).log"
151
152$(INST)/$(MPFI): $(BASE) $(INST)/$(MPIR) $(INST)/$(MPFR)
153        $(INSTALL) "$(SAGE_SPKG) $(MPFI) 2>&1" "tee -a $(SAGE_LOGS)/$(MPFI).log"
154
155$(INST)/$(GIVARO): $(BASE) $(INST)/$(MPIR)
156        $(INSTALL) "$(SAGE_SPKG) $(GIVARO) 2>&1" "tee -a $(SAGE_LOGS)/$(GIVARO).log"
157
158$(INST)/$(LINBOX): $(BASE) $(INST)/$(MPIR) $(INST)/$(NTL) $(INST)/$(GIVARO) \
159                   $(INST)/$(GSL) $(INST)/$(ATLAS)
160        $(INSTALL) "$(SAGE_SPKG) $(LINBOX) 2>&1" "tee -a $(SAGE_LOGS)/$(LINBOX).log"
161
162$(INST)/$(IML): $(BASE) $(INST)/$(MPIR) $(INST)/$(GSL)
163        $(INSTALL) "$(SAGE_SPKG) $(IML) 2>&1" "tee -a $(SAGE_LOGS)/$(IML).log"
164
165$(INST)/$(ECLIB): $(BASE) $(INST)/$(MPIR) $(INST)/$(PARI) $(INST)/$(NTL)
166        $(INSTALL) "$(SAGE_SPKG) $(ECLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(ECLIB).log"
167
168$(INST)/$(G2RED): $(BASE) $(INST)/$(PARI)
169        $(INSTALL) "$(SAGE_SPKG) $(G2RED) 2>&1" "tee -a $(SAGE_LOGS)/$(G2RED).log"
170
171$(INST)/$(PALP): $(BASE)
172        $(INSTALL) "$(SAGE_SPKG) $(PALP) 2>&1" "tee -a $(SAGE_LOGS)/$(PALP).log"
173
174$(INST)/$(LCALC): $(BASE) $(INST)/$(PARI) $(INST)/$(MPFR)
175        $(INSTALL) "$(SAGE_SPKG) $(LCALC) 2>&1" "tee -a $(SAGE_LOGS)/$(LCALC).log"
176
177$(INST)/$(PYNAC): $(INST)/$(PYTHON)
178        $(INSTALL) "$(SAGE_SPKG) $(PYNAC) 2>&1" "tee -a $(SAGE_LOGS)/$(PYNAC).log"
179
180$(INST)/$(SYMPOW): $(BASE)
181        $(INSTALL) "$(SAGE_SPKG) $(SYMPOW) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMPOW).log"
182
183$(INST)/$(SYMMETRICA): $(BASE)
184        $(INSTALL) "$(SAGE_SPKG) $(SYMMETRICA) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMMETRICA).log"
185
186# gap requires SAGE so that gap_reset_workspace works.
187$(INST)/$(GAP): $(BASE) $(INST)/$(TERMCAP) $(INST)/$(READLINE) $(INST)/$(SAGE)
188        $(INSTALL) "$(SAGE_SPKG) $(GAP) 2>&1" "tee -a $(SAGE_LOGS)/$(GAP).log"
189
190$(INST)/$(IPYTHON): $(INST)/$(PYTHON)
191        $(INSTALL) "$(SAGE_SPKG) $(IPYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(IPYTHON).log"
192
193$(INST)/$(PEXPECT): $(INST)/$(PYTHON)
194        $(INSTALL) "$(SAGE_SPKG) $(PEXPECT) 2>&1" "tee -a $(SAGE_LOGS)/$(PEXPECT).log"
195
196$(INST)/$(GD): $(INST)/$(LIBPNG) $(INST)/$(FREETYPE) $(INST)/$(ICONV)
197        $(INSTALL) "$(SAGE_SPKG) $(GD) 2>&1" "tee -a $(SAGE_LOGS)/$(GD).log"
198
199$(INST)/$(GDMODULE): $(INST)/$(PYTHON) $(INST)/$(GD) $(INST)/$(ICONV)
200        $(INSTALL) "$(SAGE_SPKG) $(GDMODULE) 2>&1" "tee -a $(SAGE_LOGS)/$(GDMODULE).log"
201
202$(INST)/$(OPENCDK):  $(INST)/$(ZLIB)  $(INST)/$(LIBGCRYPT)
203        $(INSTALL) "$(SAGE_SPKG) $(OPENCDK) 2>&1" "tee -a $(SAGE_LOGS)/$(OPENCDK).log"
204
205$(INST)/$(LIBGPG_ERROR): $(INST)/$(ICONV)
206        $(INSTALL) "$(SAGE_SPKG) $(LIBGPG_ERROR) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGPG_ERROR).log"
207
208$(INST)/$(LIBGCRYPT):  $(INST)/$(LIBGPG_ERROR)
209        $(INSTALL) "$(SAGE_SPKG) $(LIBGCRYPT) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGCRYPT).log"
210
211$(INST)/$(GNUTLS):  $(INST)/$(ZLIB) $(INST)/$(OPENCDK) $(INST)/$(LIBGCRYPT) \
212                    $(INST)/$(LIBGPG_ERROR)
213        $(INSTALL) "$(SAGE_SPKG) $(GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(GNUTLS).log"
214
215$(INST)/$(PYTHON_GNUTLS):  $(INST)/$(GNUTLS) $(INST)/$(PYTHON)
216        $(INSTALL) "$(SAGE_SPKG) $(PYTHON_GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON_GNUTLS).log"
217
218$(INST)/$(SCONS):  $(INST)/$(PYTHON)
219        $(INSTALL) "$(SAGE_SPKG) $(SCONS) 2>&1" "tee -a $(SAGE_LOGS)/$(SCONS).log"
220
221#$(INST)/$(OPENSSL): $(BASE)
222#       $(INSTALL) "$(SAGE_SPKG) $(OPENSSL) 2>&1" "tee -a $(SAGE_LOGS)/$(OPENSSL).log"
223
224#$(INST)/$(PYOPENSSL): $(INST)/$(PYTHON) $(INST)/$(OPENSSL)
225#       $(INSTALL) "$(SAGE_SPKG) $(PYOPENSSL) 2>&1" "tee -a $(SAGE_LOGS)/$(PYOPENSSL).log"
226
227$(INST)/$(RUBIKS): $(BASE)
228        $(INSTALL) "$(SAGE_SPKG) $(RUBIKS) 2>&1" "tee -a $(SAGE_LOGS)/$(RUBIKS).log"
229
230# extcode must be built before moin moin because it has the jsmath in it.
231$(INST)/$(MOIN): $(INST)/$(PYTHON) $(INST)/$(EXTCODE) $(INST)/$(SAGENB)
232        $(INSTALL) "$(SAGE_SPKG) $(MOIN) 2>&1" "tee -a $(SAGE_LOGS)/$(MOIN).log"
233
234$(INST)/$(SQLITE): $(INST)/$(TERMCAP) $(INST)/$(READLINE)
235        $(INSTALL) "$(SAGE_SPKG) $(SQLITE) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLITE).log"
236
237$(INST)/$(MERCURIAL): $(INST)/$(PYTHON)
238        $(INSTALL) "$(SAGE_SPKG) $(MERCURIAL) 2>&1" "tee -a $(SAGE_LOGS)/$(MERCURIAL).log"
239
240# make Sage and gap prerequisites for sagetex so that as much of Sage
241# is installed as possible: this is so that spkg-check works for
242# sagetex.  (To build sagetex, you just need python, but to test it,
243# you need a full Sage installation.)
244$(INST)/$(SAGETEX): $(INST)/$(PYTHON) $(INST)/$(SAGE) $(INST)/$(GAP)
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)/$(JINJA)
346        $(INSTALL) "$(SAGE_SPKG) $(JINJA2) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA2).log"
347
348$(INST)/$(JINJA): $(INST)/$(PYGMENTS)
349        $(INSTALL) "$(SAGE_SPKG) $(JINJA) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA).log"
350
351$(INST)/$(PYGMENTS): $(INST)/$(ZODB)
352        $(INSTALL) "$(SAGE_SPKG) $(PYGMENTS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYGMENTS).log"
353
354$(INST)/$(ZODB): $(INST)/$(TWISTED)
355        $(INSTALL) "$(SAGE_SPKG) $(ZODB) 2>&1" "tee -a $(SAGE_LOGS)/$(ZODB).log"
356
357$(INST)/$(TWISTED): $(INST)/$(PYTHON) $(INST)/$(PYTHON_GNUTLS)  \
358                    $(INST)/$(PEXPECT) $(INST)/$(DOCUTILS)      \
359                    $(INST)/$(SETUPTOOLS)
360        $(INSTALL) "$(SAGE_SPKG) $(TWISTED) 2>&1" "tee -a $(SAGE_LOGS)/$(TWISTED).log"
361
362# For reference and for when the setuptools problem is solved, here
363# are the actual dependencies, as of 4.3.3:
364#
365# sagenb: python pexpect twisted jinja jinja2 sphinx docutils setuptools
366# sqlalchemy: python setuptools
367# sphinx: docutils jinja2 pygments
368# jinja2: python docutils setuptools
369# jinja: python docutils setuptools
370# pygments: python setuptools
371# twisted: python python_gnutls setuptools
372# zodb: python setuptools
373
374# All components that are linked against extensions need to be listed here
375$(INST)/$(SAGE):  $(BASE) \
376                  $(INST)/$(ATLAS) \
377                  $(INST)/$(CEPHES) \
378                  $(INST)/$(CLIQUER) \
379                  $(INST)/$(CONWAY) \
380                  $(INST)/$(CYTHON)  \
381                  $(INST)/$(DOCUTILS) \
382                  $(INST)/$(ECL) \
383                  $(INST)/$(ECLIB) \
384                  $(INST)/$(ECM) \
385                  $(INST)/$(ELLIPTIC_CURVES) \
386                  $(INST)/$(EXTCODE) \
387                  $(INST)/$(FLINT)  \
388                  $(INST)/$(FPLLL) \
389                  $(INST)/$(GDMODULE)  \
390                  $(INST)/$(GRAPHS) \
391                  $(INST)/$(GIVARO) \
392                  $(INST)/$(GSL) \
393                  $(INST)/$(IML) \
394                  $(INST)/$(IPYTHON)  \
395                  $(INST)/$(LIBM4RI) \
396                  $(INST)/$(LINBOX) \
397                  $(INST)/$(MATPLOTLIB) \
398                  $(INST)/$(MERCURIAL) \
399                  $(INST)/$(MPFI) \
400                  $(INST)/$(MPFR) \
401                  $(INST)/$(MPIR)  \
402                  $(INST)/$(MPMATH) \
403                  $(INST)/$(NETWORKX) \
404                  $(INST)/$(NTL) \
405                  $(INST)/$(NUMPY) \
406                  $(INST)/$(PARI)  \
407                  $(INST)/$(PEXPECT)  \
408                  $(INST)/$(POLYBORI) \
409                  $(INST)/$(PYCRYPTO) \
410                  $(INST)/$(PYNAC) \
411                  $(INST)/$(PYTHON)  \
412                  $(INST)/$(R) \
413                  $(INST)/$(RATPOINTS) \
414                  $(INST)/$(RUBIKS) \
415                  $(INST)/$(SAGENB) \
416                  $(INST)/$(SCONS)  \
417                  $(INST)/$(SETUPTOOLS) \
418                  $(INST)/$(SINGULAR) \
419                  $(INST)/$(SYMMETRICA) \
420                  $(INST)/$(SYMPY)  \
421                  $(INST)/$(ZNPOLY)
422        $(INSTALL) "$(SAGE_SPKG) $(SAGE) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE).log"
423
424$(INST)/$(FORTRAN):
425        $(INSTALL) "$(SAGE_SPKG) $(FORTRAN) 2>&1" "tee -a $(SAGE_LOGS)/$(FORTRAN).log"
426
427$(INST)/$(F2C): $(INST)/$(FORTRAN)
428        $(INSTALL) "$(SAGE_SPKG) $(INST)/$(F2C) 2>&1" "tee -a $(SAGE_LOGS)/$(F2C).log"
429
430$(INST)/$(PIL): $(INST)/$(PYTHON)
431        $(INSTALL) "$(SAGE_SPKG) $(PIL) 2>&1" "tee -a $(SAGE_LOGS)/$(PIL).log"
432
433$(INST)/$(LAPACK): $(INST)/$(FORTRAN)
434        $(INSTALL) "$(SAGE_SPKG) $(INST)/$(LAPACK) 2>&1" "tee -a $(SAGE_LOGS)/$(LAPACK).log"
435
436$(INST)/$(BLAS): $(INST)/$(FORTRAN)
437        $(INSTALL) "$(SAGE_SPKG) $(INST)/$(BLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(BLAS).log"
438
439$(INST)/$(NUMPY): $(BASE) $(INST)/$(PYTHON) $(INST)/$(FORTRAN) $(INST)/$(F2C) \
440                  $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(ATLAS)
441        $(INSTALL) "$(SAGE_SPKG) $(NUMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(NUMPY).log"
442
443$(INST)/$(SCIPY): $(INST)/$(FORTRAN) $(INST)/$(F2C) $(INST)/$(LAPACK) \
444                  $(INST)/$(BLAS) $(INST)/$(NUMPY)
445        $(INSTALL) "$(SAGE_SPKG) $(SCIPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SCIPY).log"
446
447$(INST)/$(SCIPY_SANDBOX): $(INST)/$(SCIPY)
448        $(INSTALL) "$(SAGE_SPKG) $(SCIPY_SANDBOX) 2>&1" "tee -a $(SAGE_LOGS)/$(SCIPY_SANDBOX).log"
449
450$(INST)/$(CVXOPT): $(INST)/$(FORTRAN) $(INST)/$(F2C) $(INST)/$(LAPACK) \
451                   $(INST)/$(BLAS) $(INST)/$(NUMPY) $(INST)/$(ATLAS) \
452                   $(INST)/$(CEPHES)
453        $(INSTALL) "$(SAGE_SPKG) $(CVXOPT) 2>&1" "tee -a $(SAGE_LOGS)/$(CVXOPT).log"
454
455$(INST)/$(CEPHES):
456        $(INSTALL) "$(SAGE_SPKG) $(CEPHES) 2>&1" "tee -a $(SAGE_LOGS)/$(CEPHES).log"