#11622: Add some targets to the top-level Makefile
-------------------------------------------------+-------------------------
       Reporter:  leif                           |        Owner:  leif
           Type:  enhancement                    |       Status:  new
       Priority:  major                          |    Milestone:  sage-6.9
      Component:  build                          |   Resolution:
       Keywords:  make upgrade documentation     |    Merged in:
  rebuild parallel sequential SAGE_CHECK         |    Reviewers:
  SAGE_PARALLEL_SPKG_BUILD                       |  Work issues:
        Authors:                                 |       Commit:
Report Upstream:  N/A                            |     Stopgaps:
         Branch:                                 |
   Dependencies:                                 |
-------------------------------------------------+-------------------------
Description changed by jdemeyer:

Old description:

> This perhaps just gets a meta-ticket to collect various additions (or
> changes), to be discussed and implemented on their own tickets.
>
> There are a few things I would like to have a `make` target for,
> partially just for convenience (at the moment random choice / incomplete,
> random order):
>  * `build-check`, perhaps also `all-check`, as an "alias" for
> {{{
> #!sh
> env SAGE_CHECK=yes make build
> }}}
>  * `build-parallel` or something like that to build Sage in parallel with
> a default number of jobs (preferably the number of cores or hardware
> threads), or at least (currently just) setting
> `SAGE_PARALLEL_SPKG_BUILD=yes` and doing the usual thing
>  * `build-sequential` in case we one day default to a parallel build
>  * similar things for `doc` (see below) and `all`
>
> '''Please add further suggestions (and the tickets implementing them).'''
>
> ----
>
> Related:
>
>  * We should stop unsetting `MAKEFLAGS` and setting `MAKE` to `make`
> whenever `SAGE_PARALLEL_SPKG_BUILD!=yes` in `spkg/install`, which is
> simply wrong for a couple of reasons:
>    * It invalidates e.g. `MAKE=gmake`.
>    * It clears all flags passed to `make` on the command line as well as
> those eventually added in `MAKE` (or to `MAKEFLAGS`), e.g. `-d`, `-k`
> (`--keep-going`), and even `-n` (`--dry-run`) and `-q`. [[BR]]
>
>  It should instead (if at all) just add `-j1` to `MAKE` if
> `SAGE_PARALLEL_SPKG_BUILD!=yes`. [[BR]]
>
>  Oh, just noticed this has meanwhile slightly changed (but don't want to
> rewrite all the above):
> {{{
> #!sh
> if [ "$SAGE_PARALLEL_SPKG_BUILD" = "yes" ] && [ -n "$MAKE" ]; then
>     time $MAKE -f standard/deps $1
> else
>     time make -f standard/deps $1
> fi
> }}}
>  So we do no longer clear `MAKEFLAGS`, but not using `$MAKE` there
> remains. (And this won't prevent a parallel build invoked through `-j`
> without a number of jobs.) Note that `MAKE` will always be set at that
> point, unless some user tries to call `spkg/install` directly (or doesn't
> use GNU `make`), which is an error condition by itself, to be catched
> separately. [[BR]]
>
>    '''Note:''' This is meanwhile also fixed by #11959, i.e.
> `${MAKE:-make}` is now consistently used.
>
> ----
>
> In case we disagree or have contrary opinions on / suggestions for some
> changes or in design, we can move the discussion of ''individual
> aspects'' to `sage-devel` (or `sage-release` :-) ) threads, but we IMHO
> shouldn't move the ''whole'' discussion there. There'll certainly be
> follow-up or "real" (non-meta) tickets anyway, so it should be possible
> to not mix up different aspects in a single thread.

New description:

 This perhaps just gets a meta-ticket to collect various additions (or
 changes), to be discussed and implemented on their own tickets.

 There are a few things I would like to have a `make` target for, partially
 just for convenience (at the moment random choice / incomplete, random
 order):
  * `build-check`, perhaps also `all-check`, as an "alias" for
 {{{
 #!sh
 env SAGE_CHECK=yes make build
 }}}
  * `build-parallel` or something like that to build Sage in parallel with
 a default number of jobs (preferably the number of cores or hardware
 threads), or at least (currently just) setting
 `SAGE_PARALLEL_SPKG_BUILD=yes` and doing the usual thing
  * `build-sequential` in case we one day default to a parallel build
  * similar things for `doc` (see below) and `all`

--

--
Ticket URL: <http://trac.sagemath.org/ticket/11622#comment:14>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to