#9799: Running "make" in SAGE_ROOT returns the wrong exit code, leading to all
kinds of confusion
---------------------------------------------+------------------------------
   Reporter:  was                            |       Owner:  GeorgSWeber 
       Type:  defect                         |      Status:  needs_review
   Priority:  critical                       |   Milestone:  sage-4.6    
  Component:  build                          |    Keywords:  makefile    
     Author:  Leif Leonhardy, John Palmieri  |    Upstream:  N/A         
   Reviewer:  Jeroen Demeyer                 |      Merged:              
Work_issues:                                 |  
---------------------------------------------+------------------------------

Comment(by leif):

 Replying to [comment:19 jdemeyer]:
 > Why not leave
 {{{
 all: build doc
 }}}
 > as it is?  I agree that "build" is superfluous, but I think it adds
 clarity.

 A matter of taste, though I think making just {{{doc}}} an explicit
 prerequisite of {{{all}}} is more clear here, since it is rather uncommon
 that the documentation depends on compiling all of the code. (For
 {{{spkg/standard/deps}}}, I prefer at least ''some'' redundancy because
 it's partially obscure what depends on what. Especially omitting true
 direct dependencies because they're already accomplished through deep
 indirect dependencies is quite error-prone, since in fact ''there''
 dependencies are more likely to change than here. Analogous to the new
 Fedora library dependency scheme.)

 > It is also more robust in case other parts of the makefile are changed.

 See above; I don't think that's the case here, since the dependencies are
 rather trivial and clear from the context. ;-)

 > the same for
 {{{
 doc-html: build # (already) indirectly depends on $(PIPE)
 }}}

 I agree on adding {{{$(PIPE)}}}, saves some characters (the comment)
 anyway. ;-)

 > About the comments: I think it more common to put them outside the make
 rules, so instead of
 {{{
 build:  $(PIPE)
     @# Note that (currently) "tee" will be run in the directory cd'ed to
     @# in pipestatus' first argument, i.e. "spkg/":
     $(PIPE) "cd spkg && ./install all 2>&1" "tee -a ../install.log"
 }}}
 > why not write
 {{{
 # Note that (currently) "tee" will be run in the directory cd'ed to
 # in pipestatus' first argument, i.e. "spkg/":
 build:  $(PIPE)
     $(PIPE) "cd spkg && ./install all 2>&1" "tee -a ../install.log"
 }}}

 Well, the comment actually refers solely to the single shell command line,
 not the rule. Just imagine there were more of them...

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9799#comment:21>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to