Ticket #9274: deps.diff

File deps.diff, 16.9 KB (added by mpatel, 9 years ago)

Diff of spkg/install/deps vs. 4.5.alpha1.

  • deps

    old new INST = installed 
    22SAGE_SPKG = sage-spkg
    33INSTALL = $(SAGE_ROOT)/spkg/pipestatus
    44
     5########################################
    56# The base system; required in order to run sage-spkg
     7########################################
    68BASE = $(INST)/$(PREREQ) $(INST)/$(DIR) $(INST)/$(SAGE_BZIP2)       
    79
    810# Also install scripts before we continue with other spkgs
    BASE += $(INST)/$(SAGE_SCRIPTS) 
    1214.PHONY: all base scripts
    1315
    1416# Targets
    15 all: $(INST)/$(ATLAS) \
     17all: $(BASE) \
     18     $(INST)/$(ATLAS) \
     19     $(INST)/$(BLAS) \
    1620     $(INST)/$(BOEHM_GC) \
    1721     $(INST)/$(BOOST_CROPPED) \
     22     $(INST)/$(CDDLIB) \
     23     $(INST)/$(CEPHES) \
     24     $(INST)/$(CLIQUER) \
     25     $(INST)/$(CONWAY) \
    1826     $(INST)/$(CVXOPT) \
     27     $(INST)/$(CYTHON) \
    1928     $(INST)/$(DOCUTILS) \
     29     $(INST)/$(ECL) \
     30     $(INST)/$(ECLIB) \
    2031     $(INST)/$(ECM) \
     32     $(INST)/$(ELLIPTIC_CURVES) \
    2133     $(INST)/$(EXAMPLES) \
     34     $(INST)/$(EXTCODE) \
     35     $(INST)/$(F2C) \
    2236     $(INST)/$(FLINT) \
    2337     $(INST)/$(FLINTQS) \
     38     $(INST)/$(FORTRAN) \
     39     $(INST)/$(FPLLL) \
     40     $(INST)/$(FREETYPE) \
    2441     $(INST)/$(G2RED) \
    2542     $(INST)/$(GAP) \
    2643     $(INST)/$(GD) \
    2744     $(INST)/$(GDMODULE) \
    2845     $(INST)/$(GFAN) \
    2946     $(INST)/$(GIVARO) \
     47     $(INST)/$(GNUTLS) \
     48     $(INST)/$(GRAPHS) \
    3049     $(INST)/$(GSL) \
    3150     $(INST)/$(ICONV) \
    3251     $(INST)/$(IML) \
     52     $(INST)/$(IPYTHON) \
     53     $(INST)/$(JINJA) \
     54     $(INST)/$(JINJA2) \
     55     $(INST)/$(LAPACK) \
    3356     $(INST)/$(LCALC) \
     57     $(INST)/$(LIBGCRYPT) \
     58     $(INST)/$(LIBGPG_ERROR) \
     59     $(INST)/$(LIBM4RI) \
     60     $(INST)/$(LIBPNG) \
    3461     $(INST)/$(LINBOX) \
    3562     $(INST)/$(MATPLOTLIB) \
    3663     $(INST)/$(MAXIMA) \
    3764     $(INST)/$(MERCURIAL) \
    3865     $(INST)/$(MOIN) \
     66     $(INST)/$(MPFI) \
     67     $(INST)/$(MPFR) \
     68     $(INST)/$(MPIR) \
     69     $(INST)/$(MPMATH) \
     70     $(INST)/$(NETWORKX) \
     71     $(INST)/$(NTL) \
    3972     $(INST)/$(NUMPY) \
     73     $(INST)/$(OPENCDK) \
    4074     $(INST)/$(PALP) \
     75     $(INST)/$(PARI) \
     76     $(INST)/$(PEXPECT) \
    4177     $(INST)/$(PIL) \
    4278     $(INST)/$(POLYBORI) \
    4379     $(INST)/$(POLYTOPES_DB) \
    4480     $(INST)/$(PYCRYPTO) \
     81     $(INST)/$(PYGMENTS) \
    4582     $(INST)/$(PYNAC) \
     83     $(INST)/$(PYTHON) \
    4684     $(INST)/$(PYTHON_GNUTLS) \
     85     $(INST)/$(RATPOINTS) \
    4786     $(INST)/$(R) \
     87     $(INST)/$(READLINE) \
    4888     $(INST)/$(RUBIKS) \
    4989     $(INST)/$(SAGE) \
    50      $(INST)/$(SAGE_SCRIPTS) \
    5190     $(INST)/$(SAGENB) \
    5291     $(INST)/$(SAGETEX) \
    5392     $(INST)/$(SCIPY) \
    all: $(INST)/$(ATLAS) \ 
    5594     $(INST)/$(SCONS) \
    5695     $(INST)/$(SETUPTOOLS) \
    5796     $(INST)/$(SINGULAR) \
     97     $(INST)/$(SPHINX) \
     98     $(INST)/$(SQLALCHEMY) \
    5899     $(INST)/$(SQLITE) \
    59100     $(INST)/$(SYMMETRICA) \
    60101     $(INST)/$(SYMPOW) \
     102     $(INST)/$(SYMPY) \
    61103     $(INST)/$(TACHYON) \
     104     $(INST)/$(TERMCAP) \
     105     $(INST)/$(TWISTED) \
    62106     $(INST)/$(WEAVE) \
    63      $(INST)/$(ZNPOLY)
     107     $(INST)/$(ZLIB) \
     108     $(INST)/$(ZNPOLY) \
     109     $(INST)/$(ZODB)
    64110
    65111base: $(BASE)
    66112
    $(INST)/$(READLINE): $(BASE) 
    106152$(INST)/$(ICONV): $(BASE)
    107153        $(INSTALL) "$(SAGE_SPKG) $(ICONV) 2>&1" "tee -a $(SAGE_LOGS)/$(ICONV).log"
    108154
    109 $(INST)/$(DOCUTILS): $(INST)/$(PYTHON)
     155$(INST)/$(DOCUTILS): $(BASE) $(INST)/$(PYTHON)
    110156        $(INSTALL) "$(SAGE_SPKG) $(DOCUTILS) 2>&1" "tee -a $(SAGE_LOGS)/$(DOCUTILS).log"
    111157
    112158$(INST)/$(ELLIPTIC_CURVES): $(BASE)
    $(INST)/$(GRAPHS): $(BASE) 
    119165        $(INSTALL) "$(SAGE_SPKG) $(GRAPHS) 2>&1" "tee -a $(SAGE_LOGS)/$(GRAPHS).log"
    120166
    121167$(INST)/$(PYTHON): $(BASE) $(INST)/$(ZLIB) $(INST)/$(TERMCAP) \
    122                    $(INST)/$(READLINE) $(INST)/$(SQLITE)      \
     168                   $(INST)/$(READLINE) $(INST)/$(SQLITE) \
    123169                   $(INST)/$(GNUTLS) $(INST)/$(LIBPNG)
    124170        $(INSTALL) "$(SAGE_SPKG) $(PYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON).log"
    125171
    $(INST)/$(PARI): $(BASE) $(INST)/$(TERMC 
    139185                 $(INST)/$(MPIR)
    140186        $(INSTALL) "$(SAGE_SPKG) $(PARI) 2>&1" "tee -a $(SAGE_LOGS)/$(PARI).log"
    141187
    142 $(INST)/$(POLYBORI): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SCONS)  \
     188$(INST)/$(POLYBORI): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SCONS) \
    143189                     $(INST)/$(BOOST_CROPPED) $(INST)/$(LIBM4RI)
    144190        $(INSTALL) "$(SAGE_SPKG) $(POLYBORI) 2>&1" "tee -a $(SAGE_LOGS)/$(POLYBORI).log"
    145191
    $(INST)/$(PALP): $(BASE) 
    174220$(INST)/$(LCALC): $(BASE) $(INST)/$(PARI) $(INST)/$(MPFR)
    175221        $(INSTALL) "$(SAGE_SPKG) $(LCALC) 2>&1" "tee -a $(SAGE_LOGS)/$(LCALC).log"
    176222
    177 $(INST)/$(PYNAC): $(INST)/$(PYTHON)
     223$(INST)/$(PYNAC): $(BASE) $(INST)/$(PYTHON)
    178224        $(INSTALL) "$(SAGE_SPKG) $(PYNAC) 2>&1" "tee -a $(SAGE_LOGS)/$(PYNAC).log"
    179225
    180226$(INST)/$(SYMPOW): $(BASE)
    $(INST)/$(SYMMETRICA): $(BASE) 
    187233$(INST)/$(GAP): $(BASE) $(INST)/$(TERMCAP) $(INST)/$(READLINE) $(INST)/$(SAGE)
    188234        $(INSTALL) "$(SAGE_SPKG) $(GAP) 2>&1" "tee -a $(SAGE_LOGS)/$(GAP).log"
    189235
    190 $(INST)/$(IPYTHON): $(INST)/$(PYTHON)
     236$(INST)/$(IPYTHON): $(BASE) $(INST)/$(PYTHON)
    191237        $(INSTALL) "$(SAGE_SPKG) $(IPYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(IPYTHON).log"
    192238
    193 $(INST)/$(PEXPECT): $(INST)/$(PYTHON)
     239$(INST)/$(PEXPECT): $(BASE) $(INST)/$(PYTHON)
    194240        $(INSTALL) "$(SAGE_SPKG) $(PEXPECT) 2>&1" "tee -a $(SAGE_LOGS)/$(PEXPECT).log"
    195241
    196 $(INST)/$(GD): $(INST)/$(LIBPNG) $(INST)/$(FREETYPE) $(INST)/$(ICONV)
     242$(INST)/$(GD): $(BASE) $(INST)/$(LIBPNG) $(INST)/$(FREETYPE) $(INST)/$(ICONV)
    197243        $(INSTALL) "$(SAGE_SPKG) $(GD) 2>&1" "tee -a $(SAGE_LOGS)/$(GD).log"
    198244
    199 $(INST)/$(GDMODULE): $(INST)/$(PYTHON) $(INST)/$(GD) $(INST)/$(ICONV)
     245$(INST)/$(GDMODULE): $(BASE) $(INST)/$(PYTHON) $(INST)/$(GD) $(INST)/$(ICONV)
    200246        $(INSTALL) "$(SAGE_SPKG) $(GDMODULE) 2>&1" "tee -a $(SAGE_LOGS)/$(GDMODULE).log"
    201247
    202 $(INST)/$(OPENCDK):  $(INST)/$(ZLIB) $(INST)/$(LIBGCRYPT)
     248$(INST)/$(OPENCDK): $(BASE) $(INST)/$(ZLIB) $(INST)/$(LIBGCRYPT)
    203249        $(INSTALL) "$(SAGE_SPKG) $(OPENCDK) 2>&1" "tee -a $(SAGE_LOGS)/$(OPENCDK).log"
    204250
    205 $(INST)/$(LIBGPG_ERROR): $(INST)/$(ICONV)
     251$(INST)/$(LIBGPG_ERROR): $(BASE) $(INST)/$(ICONV)
    206252        $(INSTALL) "$(SAGE_SPKG) $(LIBGPG_ERROR) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGPG_ERROR).log"
    207253
    208 $(INST)/$(LIBGCRYPT): $(INST)/$(LIBGPG_ERROR)
     254$(INST)/$(LIBGCRYPT): $(BASE) $(INST)/$(LIBGPG_ERROR)
    209255        $(INSTALL) "$(SAGE_SPKG) $(LIBGCRYPT) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGCRYPT).log"
    210256
    211 $(INST)/$(GNUTLS):  $(INST)/$(ZLIB) $(INST)/$(OPENCDK) $(INST)/$(LIBGCRYPT) \
    212                     $(INST)/$(LIBGPG_ERROR)
     257$(INST)/$(GNUTLS): $(BASE) $(INST)/$(ZLIB) $(INST)/$(OPENCDK) \
     258                   $(INST)/$(LIBGCRYPT) $(INST)/$(LIBGPG_ERROR)
    213259        $(INSTALL) "$(SAGE_SPKG) $(GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(GNUTLS).log"
    214260
    215 $(INST)/$(PYTHON_GNUTLS): $(INST)/$(GNUTLS) $(INST)/$(PYTHON)
     261$(INST)/$(PYTHON_GNUTLS): $(BASE) $(INST)/$(GNUTLS) $(INST)/$(PYTHON)
    216262        $(INSTALL) "$(SAGE_SPKG) $(PYTHON_GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON_GNUTLS).log"
    217263
    218 $(INST)/$(SCONS): $(INST)/$(PYTHON)
     264$(INST)/$(SCONS): $(BASE) $(INST)/$(PYTHON)
    219265        $(INSTALL) "$(SAGE_SPKG) $(SCONS) 2>&1" "tee -a $(SAGE_LOGS)/$(SCONS).log"
    220266
    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 
    227267$(INST)/$(RUBIKS): $(BASE)
    228268        $(INSTALL) "$(SAGE_SPKG) $(RUBIKS) 2>&1" "tee -a $(SAGE_LOGS)/$(RUBIKS).log"
    229269
    230 # extcode must be built before moin moin because it has the jsmath in it.
    231 $(INST)/$(MOIN): $(INST)/$(PYTHON) $(INST)/$(EXTCODE) $(INST)/$(SAGENB)
     270# extcode must be built before moin moin because it has jsmath in it.
     271$(INST)/$(MOIN): $(BASE) $(INST)/$(PYTHON) $(INST)/$(EXTCODE) \
     272                 $(INST)/$(SAGENB)
    232273        $(INSTALL) "$(SAGE_SPKG) $(MOIN) 2>&1" "tee -a $(SAGE_LOGS)/$(MOIN).log"
    233274
    234 $(INST)/$(SQLITE): $(INST)/$(TERMCAP) $(INST)/$(READLINE)
     275$(INST)/$(SQLITE): $(BASE) $(INST)/$(TERMCAP) $(INST)/$(READLINE)
    235276        $(INSTALL) "$(SAGE_SPKG) $(SQLITE) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLITE).log"
    236277
    237 $(INST)/$(MERCURIAL): $(INST)/$(PYTHON)
     278$(INST)/$(MERCURIAL): $(BASE) $(INST)/$(PYTHON)
    238279        $(INSTALL) "$(SAGE_SPKG) $(MERCURIAL) 2>&1" "tee -a $(SAGE_LOGS)/$(MERCURIAL).log"
    239280
    240 $(INST)/$(SAGETEX): $(INST)/$(PYTHON)
     281$(INST)/$(SAGETEX): $(BASE) $(INST)/$(PYTHON)
    241282        $(INSTALL) "$(SAGE_SPKG) $(SAGETEX) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGETEX).log"
    242283
    243 $(INST)/$(SETUPTOOLS): $(INST)/$(PYTHON)
     284$(INST)/$(SETUPTOOLS): $(BASE) $(INST)/$(PYTHON)
    244285        $(INSTALL) "$(SAGE_SPKG) $(SETUPTOOLS) 2>&1" "tee -a $(SAGE_LOGS)/$(SETUPTOOLS).log"
    245286
    246287$(INST)/$(SINGULAR): $(BASE) $(INST)/$(MPIR) $(INST)/$(NTL) \
    $(INST)/$(LIBPNG): $(BASE) 
    270311        $(INSTALL) "$(SAGE_SPKG) $(LIBPNG) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBPNG).log"
    271312
    272313$(INST)/$(MATPLOTLIB): $(BASE) $(INST)/$(PYTHON) $(INST)/$(NUMPY) \
    273                        $(INST)/$(FREETYPE) $(INST)/$(LIBPNG)      \
     314                       $(INST)/$(FREETYPE) $(INST)/$(LIBPNG) \
    274315                       $(INST)/$(GDMODULE)
    275316        $(INSTALL) "$(SAGE_SPKG) $(MATPLOTLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(MATPLOTLIB).log"
    276317####
    $(INST)/$(ECL): $(BASE) $(INST)/$(MPIR)  
    297338$(INST)/$(MAXIMA): $(BASE) $(INST)/$(ECL)
    298339        $(INSTALL) "$(SAGE_SPKG) $(MAXIMA) 2>&1" "tee -a $(SAGE_LOGS)/$(MAXIMA).log"
    299340
    300 $(INST)/$(R): $(INST)/$(PYTHON) $(INST)/$(ATLAS) $(INST)/$(ICONV)
     341$(INST)/$(R): $(BASE) $(INST)/$(PYTHON) $(INST)/$(ATLAS) $(INST)/$(ICONV)
    301342        $(INSTALL) "$(SAGE_SPKG) $(R) 2>&1" "tee -a $(SAGE_LOGS)/$(R).log"
    302343
    303 $(INST)/$(SYMPY): $(INST)/$(PYTHON)
     344$(INST)/$(SYMPY): $(BASE) $(INST)/$(PYTHON)
    304345        $(INSTALL) "$(SAGE_SPKG) $(SYMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMPY).log"
    305346
    306 $(INST)/$(CYTHON): $(INST)/$(PYTHON)
     347$(INST)/$(CYTHON): $(BASE) $(INST)/$(PYTHON)
    307348        $(INSTALL) "$(SAGE_SPKG) $(CYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(CYTHON).log"
    308349
    309 $(INST)/$(FLINTQS): $(INST)/$(MPIR)
     350$(INST)/$(FLINTQS): $(BASE) $(INST)/$(MPIR)
    310351        $(INSTALL) "$(SAGE_SPKG) $(FLINTQS) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINTQS).log"
    311352
    312 $(INST)/$(FLINT): $(INST)/$(MPIR) $(INST)/$(NTL)
     353$(INST)/$(FLINT): $(BASE) $(INST)/$(MPIR) $(INST)/$(NTL)
    313354        $(INSTALL) "$(SAGE_SPKG) $(FLINT) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINT).log"
    314355
    315356# Mercurial must be built before building extcode. See trac ticket #6508.
    $(INST)/$(EXAMPLES): $(BASE) 
    322363$(INST)/$(LIBM4RI): $(BASE)
    323364        $(INSTALL) "$(SAGE_SPKG) $(LIBM4RI) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBM4RI).log"
    324365
    325 $(INST)/$(ZNPOLY): $(INST)/$(MPIR)
     366$(INST)/$(ZNPOLY): $(BASE) $(INST)/$(MPIR)
    326367        $(INSTALL) "$(SAGE_SPKG) $(ZNPOLY) 2>&1" "tee -a $(SAGE_LOGS)/$(ZNPOLY).log"
    327368
    328369# setuptools forgets to update easy-install.pth during parallel
    329370# builds, so we build the relevant packages serially.  Note: To avoid
    330371# branching, we haven't given explicit dependencies, but the chain's
    331372# order is important.
    332 $(INST)/$(SAGENB): $(INST)/$(SQLALCHEMY)
     373$(INST)/$(SAGENB): $(BASE) $(INST)/$(SQLALCHEMY)
    333374        $(INSTALL) "$(SAGE_SPKG) $(SAGENB) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGENB).log"
    334375
    335 $(INST)/$(SQLALCHEMY): $(INST)/$(SPHINX)
     376$(INST)/$(SQLALCHEMY): $(BASE) $(INST)/$(SPHINX)
    336377        $(INSTALL) "$(SAGE_SPKG) $(SQLALCHEMY) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLALCHEMY).log"
    337378
    338 $(INST)/$(SPHINX): $(INST)/$(JINJA2)
     379$(INST)/$(SPHINX): $(BASE) $(INST)/$(JINJA2)
    339380        $(INSTALL) "$(SAGE_SPKG) $(SPHINX) 2>&1" "tee -a $(SAGE_LOGS)/$(SPHINX).log"
    340381
    341 $(INST)/$(JINJA2): $(INST)/$(JINJA)
     382$(INST)/$(JINJA2): $(BASE) $(INST)/$(JINJA)
    342383        $(INSTALL) "$(SAGE_SPKG) $(JINJA2) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA2).log"
    343384
    344 $(INST)/$(JINJA): $(INST)/$(PYGMENTS)
     385$(INST)/$(JINJA): $(BASE) $(INST)/$(PYGMENTS)
    345386        $(INSTALL) "$(SAGE_SPKG) $(JINJA) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA).log"
    346387
    347 $(INST)/$(PYGMENTS): $(INST)/$(ZODB)
     388$(INST)/$(PYGMENTS): $(BASE) $(INST)/$(ZODB)
    348389        $(INSTALL) "$(SAGE_SPKG) $(PYGMENTS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYGMENTS).log"
    349390
    350 $(INST)/$(ZODB): $(INST)/$(TWISTED)
     391$(INST)/$(ZODB): $(BASE) $(INST)/$(TWISTED)
    351392        $(INSTALL) "$(SAGE_SPKG) $(ZODB) 2>&1" "tee -a $(SAGE_LOGS)/$(ZODB).log"
    352393
    353 $(INST)/$(TWISTED): $(INST)/$(PYTHON) $(INST)/$(PYTHON_GNUTLS)  \
    354                     $(INST)/$(PEXPECT) $(INST)/$(DOCUTILS)      \
     394$(INST)/$(TWISTED): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PYTHON_GNUTLS) \
     395                    $(INST)/$(PEXPECT) $(INST)/$(DOCUTILS) \
    355396                    $(INST)/$(SETUPTOOLS)
    356397        $(INSTALL) "$(SAGE_SPKG) $(TWISTED) 2>&1" "tee -a $(SAGE_LOGS)/$(TWISTED).log"
    357398
    $(INST)/$(TWISTED): $(INST)/$(PYTHON) $( 
    368409# zodb: python setuptools
    369410
    370411# 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)/$(GRAPHS) \
    387                   $(INST)/$(GIVARO) \
    388                   $(INST)/$(GSL) \
    389                   $(INST)/$(IML) \
    390                   $(INST)/$(IPYTHON) \
    391                   $(INST)/$(LIBM4RI) \
    392                   $(INST)/$(LINBOX) \
    393                   $(INST)/$(MATPLOTLIB) \
    394                   $(INST)/$(MERCURIAL) \
    395                   $(INST)/$(MPFI) \
    396                   $(INST)/$(MPFR) \
    397                   $(INST)/$(MPIR) \
    398                   $(INST)/$(MPMATH) \
    399                   $(INST)/$(NETWORKX) \
    400                   $(INST)/$(NTL) \
    401                   $(INST)/$(NUMPY) \
    402                   $(INST)/$(PARI) \
    403                   $(INST)/$(PEXPECT) \
    404                   $(INST)/$(POLYBORI) \
    405                   $(INST)/$(PYCRYPTO) \
    406                   $(INST)/$(PYNAC) \
    407                   $(INST)/$(PYTHON) \
    408                   $(INST)/$(R) \
    409                   $(INST)/$(RATPOINTS) \
    410                   $(INST)/$(RUBIKS) \
    411                   $(INST)/$(SAGENB) \
    412                   $(INST)/$(SCONS) \
    413                   $(INST)/$(SETUPTOOLS) \
    414                   $(INST)/$(SINGULAR) \
    415                   $(INST)/$(SYMMETRICA) \
    416                   $(INST)/$(SYMPY) \
    417                   $(INST)/$(ZNPOLY)
     412$(INST)/$(SAGE): $(BASE) \
     413                 $(INST)/$(ATLAS) \
     414                $(INST)/$(CEPHES) \
     415                 $(INST)/$(CLIQUER) \
     416                $(INST)/$(CONWAY) \
     417                 $(INST)/$(CYTHON) \
     418                 $(INST)/$(DOCUTILS) \
     419                $(INST)/$(ECL) \
     420                $(INST)/$(ECLIB) \
     421                 $(INST)/$(ECM) \
     422                $(INST)/$(ELLIPTIC_CURVES) \
     423                $(INST)/$(EXTCODE) \
     424                 $(INST)/$(FLINT) \
     425                 $(INST)/$(FPLLL) \
     426                 $(INST)/$(GDMODULE) \
     427                $(INST)/$(GRAPHS) \
     428                $(INST)/$(GIVARO) \
     429                $(INST)/$(GSL) \
     430                 $(INST)/$(IML) \
     431                 $(INST)/$(IPYTHON) \
     432                $(INST)/$(LIBM4RI) \
     433                 $(INST)/$(LINBOX) \
     434                 $(INST)/$(MATPLOTLIB) \
     435                 $(INST)/$(MERCURIAL) \
     436                 $(INST)/$(MPFI) \
     437                $(INST)/$(MPFR) \
     438                 $(INST)/$(MPIR) \
     439                 $(INST)/$(MPMATH) \
     440                 $(INST)/$(NETWORKX) \
     441                $(INST)/$(NTL) \
     442                 $(INST)/$(NUMPY) \
     443                 $(INST)/$(PARI) \
     444                 $(INST)/$(PEXPECT) \
     445                 $(INST)/$(POLYBORI) \
     446                $(INST)/$(PYCRYPTO) \
     447                $(INST)/$(PYNAC) \
     448                 $(INST)/$(PYTHON) \
     449                 $(INST)/$(R) \
     450                 $(INST)/$(RATPOINTS) \
     451                 $(INST)/$(RUBIKS) \
     452                 $(INST)/$(SAGENB) \
     453                 $(INST)/$(SCONS) \
     454                 $(INST)/$(SETUPTOOLS) \
     455                $(INST)/$(SINGULAR) \
     456                 $(INST)/$(SYMMETRICA) \
     457                 $(INST)/$(SYMPY) \
     458                 $(INST)/$(ZNPOLY)
    418459        $(INSTALL) "$(SAGE_SPKG) $(SAGE) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE).log"
    419460
    420 $(INST)/$(FORTRAN):
     461$(INST)/$(FORTRAN): $(BASE)
    421462        $(INSTALL) "$(SAGE_SPKG) $(FORTRAN) 2>&1" "tee -a $(SAGE_LOGS)/$(FORTRAN).log"
    422463
    423 $(INST)/$(F2C): $(INST)/$(FORTRAN)
    424         $(INSTALL) "$(SAGE_SPKG) $(INST)/$(F2C) 2>&1" "tee -a $(SAGE_LOGS)/$(F2C).log"
     464$(INST)/$(F2C): $(BASE) $(INST)/$(FORTRAN)
     465        $(INSTALL) "$(SAGE_SPKG) $(F2C) 2>&1" "tee -a $(SAGE_LOGS)/$(F2C).log"
    425466
    426 $(INST)/$(PIL): $(INST)/$(PYTHON)
     467$(INST)/$(PIL): $(BASE) $(INST)/$(PYTHON)
    427468        $(INSTALL) "$(SAGE_SPKG) $(PIL) 2>&1" "tee -a $(SAGE_LOGS)/$(PIL).log"
    428469
    429 $(INST)/$(LAPACK): $(INST)/$(FORTRAN)
    430         $(INSTALL) "$(SAGE_SPKG) $(INST)/$(LAPACK) 2>&1" "tee -a $(SAGE_LOGS)/$(LAPACK).log"
     470$(INST)/$(LAPACK): $(BASE) $(INST)/$(FORTRAN)
     471        $(INSTALL) "$(SAGE_SPKG) $(LAPACK) 2>&1" "tee -a $(SAGE_LOGS)/$(LAPACK).log"
    431472
    432 $(INST)/$(BLAS): $(INST)/$(FORTRAN)
    433         $(INSTALL) "$(SAGE_SPKG) $(INST)/$(BLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(BLAS).log"
     473$(INST)/$(BLAS): $(BASE) $(INST)/$(FORTRAN)
     474        $(INSTALL) "$(SAGE_SPKG) $(BLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(BLAS).log"
    434475
    435476$(INST)/$(NUMPY): $(BASE) $(INST)/$(PYTHON) $(INST)/$(FORTRAN) $(INST)/$(F2C) \
    436477                  $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(ATLAS)
    437478        $(INSTALL) "$(SAGE_SPKG) $(NUMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(NUMPY).log"
    438479
    439 $(INST)/$(SCIPY): $(INST)/$(FORTRAN) $(INST)/$(F2C) $(INST)/$(LAPACK) \
    440                   $(INST)/$(BLAS) $(INST)/$(NUMPY)
     480$(INST)/$(SCIPY): $(BASE) $(INST)/$(FORTRAN) $(INST)/$(F2C) \
     481                  $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(NUMPY)
    441482        $(INSTALL) "$(SAGE_SPKG) $(SCIPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SCIPY).log"
    442483
    443 $(INST)/$(SCIPY_SANDBOX): $(INST)/$(SCIPY)
     484$(INST)/$(SCIPY_SANDBOX): $(BASE) $(INST)/$(SCIPY)
    444485        $(INSTALL) "$(SAGE_SPKG) $(SCIPY_SANDBOX) 2>&1" "tee -a $(SAGE_LOGS)/$(SCIPY_SANDBOX).log"
    445486
    446 $(INST)/$(CVXOPT): $(INST)/$(FORTRAN) $(INST)/$(F2C) $(INST)/$(LAPACK) \
    447                    $(INST)/$(BLAS) $(INST)/$(NUMPY) $(INST)/$(ATLAS) \
    448                    $(INST)/$(CEPHES)
     487$(INST)/$(CVXOPT): $(BASE) $(INST)/$(FORTRAN) $(INST)/$(F2C) \
     488                   $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(NUMPY) \
     489                   $(INST)/$(ATLAS) $(INST)/$(CEPHES)
    449490        $(INSTALL) "$(SAGE_SPKG) $(CVXOPT) 2>&1" "tee -a $(SAGE_LOGS)/$(CVXOPT).log"
    450491
    451 $(INST)/$(CEPHES):
     492$(INST)/$(CEPHES): $(BASE)
    452493        $(INSTALL) "$(SAGE_SPKG) $(CEPHES) 2>&1" "tee -a $(SAGE_LOGS)/$(CEPHES).log"