- Fork or otherwise copy the newMakestuff repo
- Clone your new repo and type
make Makefile
. It should automatically clone makestuff, and add a "stamp" file indicating that it has done so.
You can control makestuff by adding "-include" statements to the bottom of your Makefile. There are some that come enabled by default. os.mk should always be enabled, since other .mk files will assume that it is.
makestuff is a bit of a mess and should probably be refactored. JD developed it for too long with a very small group, and it mixes things of general use with things that are very particular to the lab workflow.
- git: there are a lot of rules in git.mk, but using some of the simple ones can be fun.
- pipeR: pipeR.mk has rules for making and using products from R scripts via the shellpipes package
In general, you should be able to make the primary target in a makestuff project with the following commands:
- clone the repo and switch to the repo directory
make Makefile
-- this should clone makestuffmake pullall
-- this will clone repos that are listed as $(subdirs), and also clone (or link) versions of makestuff for these repos and other subdirectories- for very complicated projects you may need to
make pullall
more than once; twice should almost always be enough, you should also be able to tell when make pullall is bored (not cloning anything).
- for very complicated projects you may need to
make all
-- as far as I can tell, this is not implemented anywhere, but would be a good convention for the collection of final products (paper, supplementary material, etc.)- if
make all
is not implemented, you will need to identify and make the desired target:make main.pdf
is an example from a randomly selected project
- if