Ticket #9274: deps-new.diff

File deps-new.diff, 16.8 KB (added by jhpalmieri, 9 years ago)
  • (a) deps.orig vs. (b) deps-new

    a b  
    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
     
    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) \
     
    2845     $(INST)/$(GFAN) \
    2946     $(INST)/$(GIVARO) \
    3047     $(INST)/$(GLPK) \
     48     $(INST)/$(GNUTLS) \
     49     $(INST)/$(GRAPHS) \
    3150     $(INST)/$(GSL) \
    3251     $(INST)/$(ICONV) \
    3352     $(INST)/$(IML) \
     53     $(INST)/$(IPYTHON) \
     54     $(INST)/$(JINJA) \
     55     $(INST)/$(JINJA2) \
     56     $(INST)/$(LAPACK) \
    3457     $(INST)/$(LCALC) \
     58     $(INST)/$(LIBGCRYPT) \
     59     $(INST)/$(LIBGPG_ERROR) \
     60     $(INST)/$(LIBM4RI) \
     61     $(INST)/$(LIBPNG) \
    3562     $(INST)/$(LINBOX) \
    3663     $(INST)/$(MATPLOTLIB) \
    3764     $(INST)/$(MAXIMA) \
    3865     $(INST)/$(MERCURIAL) \
    3966     $(INST)/$(MOIN) \
     67     $(INST)/$(MPFI) \
     68     $(INST)/$(MPFR) \
     69     $(INST)/$(MPIR) \
     70     $(INST)/$(MPMATH) \
     71     $(INST)/$(NETWORKX) \
     72     $(INST)/$(NTL) \
    4073     $(INST)/$(NUMPY) \
     74     $(INST)/$(OPENCDK) \
    4175     $(INST)/$(PALP) \
     76     $(INST)/$(PARI) \
     77     $(INST)/$(PEXPECT) \
    4278     $(INST)/$(PIL) \
    4379     $(INST)/$(POLYBORI) \
    4480     $(INST)/$(POLYTOPES_DB) \
    4581     $(INST)/$(PYCRYPTO) \
     82     $(INST)/$(PYGMENTS) \
    4683     $(INST)/$(PYNAC) \
     84     $(INST)/$(PYTHON) \
    4785     $(INST)/$(PYTHON_GNUTLS) \
     86     $(INST)/$(RATPOINTS) \
    4887     $(INST)/$(R) \
     88     $(INST)/$(READLINE) \
    4989     $(INST)/$(RUBIKS) \
    5090     $(INST)/$(SAGE) \
    5191     $(INST)/$(SAGE_SCRIPTS) \
     
    5696     $(INST)/$(SCONS) \
    5797     $(INST)/$(SETUPTOOLS) \
    5898     $(INST)/$(SINGULAR) \
     99     $(INST)/$(SPHINX) \
     100     $(INST)/$(SQLALCHEMY) \
    59101     $(INST)/$(SQLITE) \
    60102     $(INST)/$(SYMMETRICA) \
    61103     $(INST)/$(SYMPOW) \
     104     $(INST)/$(SYMPY) \
    62105     $(INST)/$(TACHYON) \
     106     $(INST)/$(TERMCAP) \
     107     $(INST)/$(TWISTED) \
    63108     $(INST)/$(WEAVE) \
    64      $(INST)/$(ZNPOLY)
     109     $(INST)/$(ZLIB) \
     110     $(INST)/$(ZNPOLY) \
     111     $(INST)/$(ZODB)
    65112
    66113base: $(BASE)
    67114
     
    107154$(INST)/$(ICONV): $(BASE)
    108155        $(INSTALL) "$(SAGE_SPKG) $(ICONV) 2>&1" "tee -a $(SAGE_LOGS)/$(ICONV).log"
    109156
    110 $(INST)/$(DOCUTILS): $(INST)/$(PYTHON)
     157$(INST)/$(DOCUTILS): $(BASE) $(INST)/$(PYTHON)
    111158        $(INSTALL) "$(SAGE_SPKG) $(DOCUTILS) 2>&1" "tee -a $(SAGE_LOGS)/$(DOCUTILS).log"
    112159
    113160$(INST)/$(ELLIPTIC_CURVES): $(BASE)
     
    119166$(INST)/$(GRAPHS): $(BASE)
    120167        $(INSTALL) "$(SAGE_SPKG) $(GRAPHS) 2>&1" "tee -a $(SAGE_LOGS)/$(GRAPHS).log"
    121168
    122 $(INST)/$(GLPK): $(BASE) $(INST)/$(MPIR) $(INST)/$(ZLIB)
     169$(INST)/$(GLPK): $(BASE) $(INST)/$(MPIR) $(INST)/$(ZLIB) $(INST)/$(CYTHON)
    123170        $(INSTALL) "$(SAGE_SPKG) $(GLPK) 2>&1" "tee -a $(SAGE_LOGS)/$(GLPK).log"
    124171
    125172$(INST)/$(PYTHON): $(BASE) $(INST)/$(ZLIB) $(INST)/$(TERMCAP) \
    126                    $(INST)/$(READLINE) $(INST)/$(SQLITE)      \
     173                   $(INST)/$(READLINE) $(INST)/$(SQLITE) \
    127174                   $(INST)/$(GNUTLS) $(INST)/$(LIBPNG)
    128175        $(INSTALL) "$(SAGE_SPKG) $(PYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON).log"
    129176
     
    143190                 $(INST)/$(MPIR)
    144191        $(INSTALL) "$(SAGE_SPKG) $(PARI) 2>&1" "tee -a $(SAGE_LOGS)/$(PARI).log"
    145192
    146 $(INST)/$(POLYBORI): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SCONS)  \
     193$(INST)/$(POLYBORI): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SCONS) \
    147194                     $(INST)/$(BOOST_CROPPED) $(INST)/$(LIBM4RI)
    148195        $(INSTALL) "$(SAGE_SPKG) $(POLYBORI) 2>&1" "tee -a $(SAGE_LOGS)/$(POLYBORI).log"
    149196
     
    178225$(INST)/$(LCALC): $(BASE) $(INST)/$(PARI) $(INST)/$(MPFR)
    179226        $(INSTALL) "$(SAGE_SPKG) $(LCALC) 2>&1" "tee -a $(SAGE_LOGS)/$(LCALC).log"
    180227
    181 $(INST)/$(PYNAC): $(INST)/$(PYTHON)
     228$(INST)/$(PYNAC): $(BASE) $(INST)/$(PYTHON)
    182229        $(INSTALL) "$(SAGE_SPKG) $(PYNAC) 2>&1" "tee -a $(SAGE_LOGS)/$(PYNAC).log"
    183230
    184231$(INST)/$(SYMPOW): $(BASE)
     
    191238$(INST)/$(GAP): $(BASE) $(INST)/$(TERMCAP) $(INST)/$(READLINE) $(INST)/$(SAGE)
    192239        $(INSTALL) "$(SAGE_SPKG) $(GAP) 2>&1" "tee -a $(SAGE_LOGS)/$(GAP).log"
    193240
    194 $(INST)/$(IPYTHON): $(INST)/$(PYTHON)
     241$(INST)/$(IPYTHON): $(BASE) $(INST)/$(PYTHON)
    195242        $(INSTALL) "$(SAGE_SPKG) $(IPYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(IPYTHON).log"
    196243
    197 $(INST)/$(PEXPECT): $(INST)/$(PYTHON)
     244$(INST)/$(PEXPECT): $(BASE) $(INST)/$(PYTHON)
    198245        $(INSTALL) "$(SAGE_SPKG) $(PEXPECT) 2>&1" "tee -a $(SAGE_LOGS)/$(PEXPECT).log"
    199246
    200 $(INST)/$(GD): $(INST)/$(LIBPNG) $(INST)/$(FREETYPE) $(INST)/$(ICONV)
     247$(INST)/$(GD): $(BASE) $(INST)/$(LIBPNG) $(INST)/$(FREETYPE) $(INST)/$(ICONV)
    201248        $(INSTALL) "$(SAGE_SPKG) $(GD) 2>&1" "tee -a $(SAGE_LOGS)/$(GD).log"
    202249
    203 $(INST)/$(GDMODULE): $(INST)/$(PYTHON) $(INST)/$(GD) $(INST)/$(ICONV)
     250$(INST)/$(GDMODULE): $(BASE) $(INST)/$(PYTHON) $(INST)/$(GD) $(INST)/$(ICONV)
    204251        $(INSTALL) "$(SAGE_SPKG) $(GDMODULE) 2>&1" "tee -a $(SAGE_LOGS)/$(GDMODULE).log"
    205252
    206 $(INST)/$(OPENCDK):  $(INST)/$(ZLIB) $(INST)/$(LIBGCRYPT)
     253$(INST)/$(OPENCDK): $(BASE) $(INST)/$(ZLIB) $(INST)/$(LIBGCRYPT)
    207254        $(INSTALL) "$(SAGE_SPKG) $(OPENCDK) 2>&1" "tee -a $(SAGE_LOGS)/$(OPENCDK).log"
    208255
    209 $(INST)/$(LIBGPG_ERROR): $(INST)/$(ICONV)
     256$(INST)/$(LIBGPG_ERROR): $(BASE) $(INST)/$(ICONV)
    210257        $(INSTALL) "$(SAGE_SPKG) $(LIBGPG_ERROR) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGPG_ERROR).log"
    211258
    212 $(INST)/$(LIBGCRYPT): $(INST)/$(LIBGPG_ERROR)
     259$(INST)/$(LIBGCRYPT): $(BASE) $(INST)/$(LIBGPG_ERROR)
    213260        $(INSTALL) "$(SAGE_SPKG) $(LIBGCRYPT) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGCRYPT).log"
    214261
    215 $(INST)/$(GNUTLS):  $(INST)/$(ZLIB) $(INST)/$(OPENCDK) $(INST)/$(LIBGCRYPT) \
    216                     $(INST)/$(LIBGPG_ERROR)
     262$(INST)/$(GNUTLS): $(BASE) $(INST)/$(ZLIB) $(INST)/$(OPENCDK) \
     263                   $(INST)/$(LIBGCRYPT) $(INST)/$(LIBGPG_ERROR)
    217264        $(INSTALL) "$(SAGE_SPKG) $(GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(GNUTLS).log"
    218265
    219 $(INST)/$(PYTHON_GNUTLS): $(INST)/$(GNUTLS) $(INST)/$(PYTHON)
     266$(INST)/$(PYTHON_GNUTLS): $(BASE) $(INST)/$(GNUTLS) $(INST)/$(PYTHON)
    220267        $(INSTALL) "$(SAGE_SPKG) $(PYTHON_GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON_GNUTLS).log"
    221268
    222 $(INST)/$(SCONS): $(INST)/$(PYTHON)
     269$(INST)/$(SCONS): $(BASE) $(INST)/$(PYTHON)
    223270        $(INSTALL) "$(SAGE_SPKG) $(SCONS) 2>&1" "tee -a $(SAGE_LOGS)/$(SCONS).log"
    224271
    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 
    231272$(INST)/$(RUBIKS): $(BASE)
    232273        $(INSTALL) "$(SAGE_SPKG) $(RUBIKS) 2>&1" "tee -a $(SAGE_LOGS)/$(RUBIKS).log"
    233274
    234 # extcode must be built before moin moin because it has the jsmath in it.
    235 $(INST)/$(MOIN): $(INST)/$(PYTHON) $(INST)/$(EXTCODE) $(INST)/$(SAGENB)
     275# extcode must be built before moin moin because it has jsmath in it.
     276$(INST)/$(MOIN): $(BASE) $(INST)/$(PYTHON) $(INST)/$(EXTCODE) \
     277                 $(INST)/$(SAGENB)
    236278        $(INSTALL) "$(SAGE_SPKG) $(MOIN) 2>&1" "tee -a $(SAGE_LOGS)/$(MOIN).log"
    237279
    238 $(INST)/$(SQLITE): $(INST)/$(TERMCAP) $(INST)/$(READLINE)
     280$(INST)/$(SQLITE): $(BASE) $(INST)/$(TERMCAP) $(INST)/$(READLINE)
    239281        $(INSTALL) "$(SAGE_SPKG) $(SQLITE) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLITE).log"
    240282
    241 $(INST)/$(MERCURIAL): $(INST)/$(PYTHON)
     283$(INST)/$(MERCURIAL): $(BASE) $(INST)/$(PYTHON)
    242284        $(INSTALL) "$(SAGE_SPKG) $(MERCURIAL) 2>&1" "tee -a $(SAGE_LOGS)/$(MERCURIAL).log"
    243285
    244286# make Sage and gap prerequisites for sagetex so that as much of Sage
     
    248290$(INST)/$(SAGETEX): $(INST)/$(PYTHON) $(INST)/$(SAGE) $(INST)/$(GAP)
    249291        $(INSTALL) "$(SAGE_SPKG) $(SAGETEX) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGETEX).log"
    250292
    251 $(INST)/$(SETUPTOOLS): $(INST)/$(PYTHON)
     293$(INST)/$(SETUPTOOLS): $(BASE) $(INST)/$(PYTHON)
    252294        $(INSTALL) "$(SAGE_SPKG) $(SETUPTOOLS) 2>&1" "tee -a $(SAGE_LOGS)/$(SETUPTOOLS).log"
    253295
    254296$(INST)/$(SINGULAR): $(BASE) $(INST)/$(MPIR) $(INST)/$(NTL) \
     
    278320        $(INSTALL) "$(SAGE_SPKG) $(LIBPNG) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBPNG).log"
    279321
    280322$(INST)/$(MATPLOTLIB): $(BASE) $(INST)/$(PYTHON) $(INST)/$(NUMPY) \
    281                        $(INST)/$(FREETYPE) $(INST)/$(LIBPNG)      \
     323                       $(INST)/$(FREETYPE) $(INST)/$(LIBPNG) \
    282324                       $(INST)/$(GDMODULE)
    283325        $(INSTALL) "$(SAGE_SPKG) $(MATPLOTLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(MATPLOTLIB).log"
    284326####
     
    305347$(INST)/$(MAXIMA): $(BASE) $(INST)/$(ECL)
    306348        $(INSTALL) "$(SAGE_SPKG) $(MAXIMA) 2>&1" "tee -a $(SAGE_LOGS)/$(MAXIMA).log"
    307349
    308 $(INST)/$(R): $(INST)/$(PYTHON) $(INST)/$(ATLAS) $(INST)/$(ICONV)
     350$(INST)/$(R): $(BASE) $(INST)/$(PYTHON) $(INST)/$(ATLAS) $(INST)/$(ICONV)
    309351        $(INSTALL) "$(SAGE_SPKG) $(R) 2>&1" "tee -a $(SAGE_LOGS)/$(R).log"
    310352
    311 $(INST)/$(SYMPY): $(INST)/$(PYTHON)
     353$(INST)/$(SYMPY): $(BASE) $(INST)/$(PYTHON)
    312354        $(INSTALL) "$(SAGE_SPKG) $(SYMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMPY).log"
    313355
    314 $(INST)/$(CYTHON): $(INST)/$(PYTHON)
     356$(INST)/$(CYTHON): $(BASE) $(INST)/$(PYTHON)
    315357        $(INSTALL) "$(SAGE_SPKG) $(CYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(CYTHON).log"
    316358
    317 $(INST)/$(FLINTQS): $(INST)/$(MPIR)
     359$(INST)/$(FLINTQS): $(BASE) $(INST)/$(MPIR)
    318360        $(INSTALL) "$(SAGE_SPKG) $(FLINTQS) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINTQS).log"
    319361
    320 $(INST)/$(FLINT): $(INST)/$(MPIR) $(INST)/$(NTL)
     362$(INST)/$(FLINT): $(BASE) $(INST)/$(MPIR) $(INST)/$(NTL)
    321363        $(INSTALL) "$(SAGE_SPKG) $(FLINT) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINT).log"
    322364
    323365# Mercurial must be built before building extcode. See trac ticket #6508.
     
    330372$(INST)/$(LIBM4RI): $(BASE)
    331373        $(INSTALL) "$(SAGE_SPKG) $(LIBM4RI) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBM4RI).log"
    332374
    333 $(INST)/$(ZNPOLY): $(INST)/$(MPIR)
     375$(INST)/$(ZNPOLY): $(BASE) $(INST)/$(MPIR)
    334376        $(INSTALL) "$(SAGE_SPKG) $(ZNPOLY) 2>&1" "tee -a $(SAGE_LOGS)/$(ZNPOLY).log"
    335377
    336378# setuptools forgets to update easy-install.pth during parallel
    337379# builds, so we build the relevant packages serially.  Note: To avoid
    338380# branching, we haven't given explicit dependencies, but the chain's
    339381# order is important.
    340 $(INST)/$(SAGENB): $(INST)/$(SQLALCHEMY)
     382$(INST)/$(SAGENB): $(BASE) $(INST)/$(SQLALCHEMY)
    341383        $(INSTALL) "$(SAGE_SPKG) $(SAGENB) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGENB).log"
    342384
    343 $(INST)/$(SQLALCHEMY): $(INST)/$(SPHINX)
     385$(INST)/$(SQLALCHEMY): $(BASE) $(INST)/$(SPHINX)
    344386        $(INSTALL) "$(SAGE_SPKG) $(SQLALCHEMY) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLALCHEMY).log"
    345387
    346 $(INST)/$(SPHINX): $(INST)/$(JINJA2)
     388$(INST)/$(SPHINX): $(BASE) $(INST)/$(JINJA2)
    347389        $(INSTALL) "$(SAGE_SPKG) $(SPHINX) 2>&1" "tee -a $(SAGE_LOGS)/$(SPHINX).log"
    348390
    349 $(INST)/$(JINJA2): $(INST)/$(JINJA)
     391$(INST)/$(JINJA2): $(BASE) $(INST)/$(JINJA)
    350392        $(INSTALL) "$(SAGE_SPKG) $(JINJA2) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA2).log"
    351393
    352 $(INST)/$(JINJA): $(INST)/$(PYGMENTS)
     394$(INST)/$(JINJA): $(BASE) $(INST)/$(PYGMENTS)
    353395        $(INSTALL) "$(SAGE_SPKG) $(JINJA) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA).log"
    354396
    355 $(INST)/$(PYGMENTS): $(INST)/$(ZODB)
     397$(INST)/$(PYGMENTS): $(BASE) $(INST)/$(ZODB)
    356398        $(INSTALL) "$(SAGE_SPKG) $(PYGMENTS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYGMENTS).log"
    357399
    358 $(INST)/$(ZODB): $(INST)/$(TWISTED)
     400$(INST)/$(ZODB): $(BASE) $(INST)/$(TWISTED)
    359401        $(INSTALL) "$(SAGE_SPKG) $(ZODB) 2>&1" "tee -a $(SAGE_LOGS)/$(ZODB).log"
    360402
    361 $(INST)/$(TWISTED): $(INST)/$(PYTHON) $(INST)/$(PYTHON_GNUTLS)  \
    362                     $(INST)/$(PEXPECT) $(INST)/$(DOCUTILS)      \
     403$(INST)/$(TWISTED): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PYTHON_GNUTLS) \
     404                    $(INST)/$(PEXPECT) $(INST)/$(DOCUTILS) \
    363405                    $(INST)/$(SETUPTOOLS)
    364406        $(INSTALL) "$(SAGE_SPKG) $(TWISTED) 2>&1" "tee -a $(SAGE_LOGS)/$(TWISTED).log"
    365407
     
    376418# zodb: python setuptools
    377419
    378420# All components that are linked against extensions need to be listed here
    379 $(INST)/$(SAGE):  $(BASE) \
    380                   $(INST)/$(ATLAS) \
    381                   $(INST)/$(CEPHES) \
    382                   $(INST)/$(CLIQUER) \
    383                   $(INST)/$(CONWAY) \
    384                   $(INST)/$(CYTHON) \
    385                   $(INST)/$(DOCUTILS) \
    386                   $(INST)/$(ECL) \
    387                   $(INST)/$(ECLIB) \
    388                   $(INST)/$(ECM) \
    389                   $(INST)/$(ELLIPTIC_CURVES) \
    390                   $(INST)/$(EXTCODE) \
    391                   $(INST)/$(FLINT) \
    392                   $(INST)/$(FPLLL) \
    393                   $(INST)/$(GDMODULE) \
    394                   $(INST)/$(GRAPHS) \
    395                   $(INST)/$(GIVARO) \
    396                   $(INST)/$(GLPK) \
    397                   $(INST)/$(GSL) \
    398                   $(INST)/$(IML) \
    399                   $(INST)/$(IPYTHON) \
    400                   $(INST)/$(LIBM4RI) \
    401                   $(INST)/$(LINBOX) \
    402                   $(INST)/$(MATPLOTLIB) \
    403                   $(INST)/$(MERCURIAL) \
    404                   $(INST)/$(MPFI) \
    405                   $(INST)/$(MPFR) \
    406                   $(INST)/$(MPIR) \
    407                   $(INST)/$(MPMATH) \
    408                   $(INST)/$(NETWORKX) \
    409                   $(INST)/$(NTL) \
    410                   $(INST)/$(NUMPY) \
    411                   $(INST)/$(PARI) \
    412                   $(INST)/$(PEXPECT) \
    413                   $(INST)/$(POLYBORI) \
    414                   $(INST)/$(PYCRYPTO) \
    415                   $(INST)/$(PYNAC) \
    416                   $(INST)/$(PYTHON) \
    417                   $(INST)/$(R) \
    418                   $(INST)/$(RATPOINTS) \
    419                   $(INST)/$(RUBIKS) \
    420                   $(INST)/$(SAGENB) \
    421                   $(INST)/$(SCONS) \
    422                   $(INST)/$(SETUPTOOLS) \
    423                   $(INST)/$(SINGULAR) \
    424                   $(INST)/$(SYMMETRICA) \
    425                   $(INST)/$(SYMPY) \
    426                   $(INST)/$(ZNPOLY)
     421$(INST)/$(SAGE): $(BASE) \
     422                 $(INST)/$(ATLAS) \
     423                $(INST)/$(CEPHES) \
     424                 $(INST)/$(CLIQUER) \
     425                $(INST)/$(CONWAY) \
     426                 $(INST)/$(CYTHON) \
     427                 $(INST)/$(DOCUTILS) \
     428                $(INST)/$(ECL) \
     429                $(INST)/$(ECLIB) \
     430                 $(INST)/$(ECM) \
     431                $(INST)/$(ELLIPTIC_CURVES) \
     432                $(INST)/$(EXTCODE) \
     433                 $(INST)/$(FLINT) \
     434                 $(INST)/$(FPLLL) \
     435                 $(INST)/$(GDMODULE) \
     436                $(INST)/$(GRAPHS) \
     437                $(INST)/$(GIVARO) \
     438                $(INST)/$(GLPK) \
     439                $(INST)/$(GSL) \
     440                 $(INST)/$(IML) \
     441                 $(INST)/$(IPYTHON) \
     442                $(INST)/$(LIBM4RI) \
     443                 $(INST)/$(LINBOX) \
     444                 $(INST)/$(MATPLOTLIB) \
     445                 $(INST)/$(MERCURIAL) \
     446                 $(INST)/$(MPFI) \
     447                $(INST)/$(MPFR) \
     448                 $(INST)/$(MPIR) \
     449                 $(INST)/$(MPMATH) \
     450                 $(INST)/$(NETWORKX) \
     451                $(INST)/$(NTL) \
     452                 $(INST)/$(NUMPY) \
     453                 $(INST)/$(PARI) \
     454                 $(INST)/$(PEXPECT) \
     455                 $(INST)/$(POLYBORI) \
     456                $(INST)/$(PYCRYPTO) \
     457                $(INST)/$(PYNAC) \
     458                 $(INST)/$(PYTHON) \
     459                 $(INST)/$(R) \
     460                 $(INST)/$(RATPOINTS) \
     461                 $(INST)/$(RUBIKS) \
     462                 $(INST)/$(SAGENB) \
     463                 $(INST)/$(SCONS) \
     464                 $(INST)/$(SETUPTOOLS) \
     465                $(INST)/$(SINGULAR) \
     466                 $(INST)/$(SYMMETRICA) \
     467                 $(INST)/$(SYMPY) \
     468                 $(INST)/$(ZNPOLY)
    427469        $(INSTALL) "$(SAGE_SPKG) $(SAGE) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE).log"
    428470
    429 $(INST)/$(FORTRAN):
     471$(INST)/$(FORTRAN): $(BASE)
    430472        $(INSTALL) "$(SAGE_SPKG) $(FORTRAN) 2>&1" "tee -a $(SAGE_LOGS)/$(FORTRAN).log"
    431473
    432 $(INST)/$(F2C): $(INST)/$(FORTRAN)
    433         $(INSTALL) "$(SAGE_SPKG) $(INST)/$(F2C) 2>&1" "tee -a $(SAGE_LOGS)/$(F2C).log"
     474$(INST)/$(F2C): $(BASE) $(INST)/$(FORTRAN)
     475        $(INSTALL) "$(SAGE_SPKG) $(F2C) 2>&1" "tee -a $(SAGE_LOGS)/$(F2C).log"
    434476
    435 $(INST)/$(PIL): $(INST)/$(PYTHON)
     477$(INST)/$(PIL): $(BASE) $(INST)/$(PYTHON)
    436478        $(INSTALL) "$(SAGE_SPKG) $(PIL) 2>&1" "tee -a $(SAGE_LOGS)/$(PIL).log"
    437479
    438 $(INST)/$(LAPACK): $(INST)/$(FORTRAN)
    439         $(INSTALL) "$(SAGE_SPKG) $(INST)/$(LAPACK) 2>&1" "tee -a $(SAGE_LOGS)/$(LAPACK).log"
     480$(INST)/$(LAPACK): $(BASE) $(INST)/$(FORTRAN)
     481        $(INSTALL) "$(SAGE_SPKG) $(LAPACK) 2>&1" "tee -a $(SAGE_LOGS)/$(LAPACK).log"
    440482
    441 $(INST)/$(BLAS): $(INST)/$(FORTRAN)
    442         $(INSTALL) "$(SAGE_SPKG) $(INST)/$(BLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(BLAS).log"
     483$(INST)/$(BLAS): $(BASE) $(INST)/$(FORTRAN)
     484        $(INSTALL) "$(SAGE_SPKG) $(BLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(BLAS).log"
    443485
    444486$(INST)/$(NUMPY): $(BASE) $(INST)/$(PYTHON) $(INST)/$(FORTRAN) $(INST)/$(F2C) \
    445487                  $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(ATLAS)
    446488        $(INSTALL) "$(SAGE_SPKG) $(NUMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(NUMPY).log"
    447489
    448 $(INST)/$(SCIPY): $(INST)/$(FORTRAN) $(INST)/$(F2C) $(INST)/$(LAPACK) \
    449                   $(INST)/$(BLAS) $(INST)/$(NUMPY)
     490$(INST)/$(SCIPY): $(BASE) $(INST)/$(FORTRAN) $(INST)/$(F2C) \
     491                  $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(NUMPY)
    450492        $(INSTALL) "$(SAGE_SPKG) $(SCIPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SCIPY).log"
    451493
    452 $(INST)/$(SCIPY_SANDBOX): $(INST)/$(SCIPY)
     494$(INST)/$(SCIPY_SANDBOX): $(BASE) $(INST)/$(SCIPY)
    453495        $(INSTALL) "$(SAGE_SPKG) $(SCIPY_SANDBOX) 2>&1" "tee -a $(SAGE_LOGS)/$(SCIPY_SANDBOX).log"
    454496
    455 $(INST)/$(CVXOPT): $(INST)/$(FORTRAN) $(INST)/$(F2C) $(INST)/$(LAPACK) \
    456                    $(INST)/$(BLAS) $(INST)/$(NUMPY) $(INST)/$(ATLAS) \
    457                    $(INST)/$(CEPHES)
     497$(INST)/$(CVXOPT): $(BASE) $(INST)/$(FORTRAN) $(INST)/$(F2C) \
     498                   $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(NUMPY) \
     499                   $(INST)/$(ATLAS) $(INST)/$(CEPHES)
    458500        $(INSTALL) "$(SAGE_SPKG) $(CVXOPT) 2>&1" "tee -a $(SAGE_LOGS)/$(CVXOPT).log"
    459501
    460 $(INST)/$(CEPHES):
     502$(INST)/$(CEPHES): $(BASE)
    461503        $(INSTALL) "$(SAGE_SPKG) $(CEPHES) 2>&1" "tee -a $(SAGE_LOGS)/$(CEPHES).log"