#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.