How do makefiles know which source files have been changed since the
- Make decides whether a target needs to be regenerated by
comparing file modification times.
You could use .PHONY, there can be a problem if e.g. a file
"finalization" is present
make -j for parallelization
- This will parallelize a make run automatically
For workflows, how do you deal with when a pipeline of reproducible
expensive steps fails at some point, and maybe something like a
Makefile gets confused?
- If you define the steps in the Makefile, and they have fixed
inputs and outputs, it should do the right thing.
When you're writing documentation for something that has multiple
audiences (say, developers of the library, developers integrating
the library, and maybe non-technical users further down the line),
how do you prioritize what documentation to write?
- We'll discuss this in the section
git diff --word-diff=color
what shell do you use?
- bash +3
- tcsh/csh +1
- zsh +2
- ... ?
- zsh for interactive, bash for scripting (from chat)
- is there much difference between shells (from chat)
- that's tricky, for interactive use not much, for scripting
it gets hairy but there are clear differences between
C-family shells and sh-family ones (from chat)
what about "perspectives from different people: developers, users,
installers, user support?"
- The idea is that with your docstrings, and just a folders in
which you dump some examples, you have a pretty complete
documentation setup. Get the most bang for your buck. (from
- All these complicated config files are simply copy/pasted from
repositories that went through the trouble of setting all of
this stuff up. (from chat)
- All of this stuff is auto-generated by sphinx. (from chat)
- Also: examples serve as integration tests (from chat)