Coder Social home page Coder Social logo

kbroman / minimal_make Goto Github PK

View Code? Open in Web Editor NEW
27.0 6.0 9.0 192 KB

Minimal make: A minimal tutorial on the most important tool for reproducible research

Home Page: https://kbroman.org/minimal_make

License: Other

Ruby 69.46% CSS 6.90% HTML 23.64%

minimal_make's Introduction

Minimal make: A minimal tutorial on make

I would argue that the most important tool for reproducible research is GNU Make.

This is a minimal tutorial to get started.

View the thing here.


This web site is licensed under CC BY 4.0.

CC BY 4.0

minimal_make's People

Contributors

isomorphisms avatar kbroman avatar kinto-b avatar laurentgatto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

minimal_make's Issues

Consider drake

The drake package is an R-focused version of Make, and it may be a better fit for some research projects. The toy workflow in one of the vignettes is an example. If the same project were to use Make with the same set of targets, it would spend more time initializing R sessions than doing actual work.

By the way, I love the blog post that corresponds to this repo, and I share it all the time.

cd same line

I'm learning to use make (haven't actually tied it yet) because I saw how nicely you outline it and it made me want to try. I saw you write:

One oddity: if you need to change directories to run a command, do the cd on the same line as the related command. The following would not work:

### this doesn't work ###
Figs/fig1.pdf: R/fig1.R
    cd R
    R CMD BATCH fig1.R fig1.Rout

I saw in Yihui's knitr package he has a make file but put's them (cd and next command) on separate lines. He puts a ;\ after the cd command though.

https://github.com/yihui/knitr/blob/master/Makefile

Do you think this might work?:

Figs/fig1.pdf: R/fig1.R
    cd R;\
    R CMD BATCH fig1.R fig1.Rout

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.