Updated: 11.10.2022
Here are some references to start using makefile
. It makes automation easily
by just running make
. Nevertheless, some Apps need to be installed if running
in Windows. The easiest way to install Apps is to use scoop to install make and
additionally with sed.
- A minimal make is a good starting point by Karl Broman
- Automation with makefile gives a good example to use in R and Python
- Example of makefile for R package
- StackOverflow long answer and more links on makefile
Here is an example of my Makefile
for R package.
PKGNAME = $(shell sed -n "s/Package: *\([^ ]*\)/\1/p" DESCRIPTION)
PKGVERS = $(shell sed -n "s/Version: *\([^ ]*\)/\1/p" DESCRIPTION)
all: check
build: install_deps
R CMD build .
check: build
R CMD check --no-manual $(PKGNAME)_$(PKGVERS).tar.gz
install_deps:
Rscript \
-e 'if (!requireNamespace("remotes")) install.packages("remotes")' \
-e 'remotes::install_deps(dependencies = TRUE)'
install: build
R CMD INSTALL $(PKGNAME)_$(PKGVERS).tar.gz
clean:
@rm -rf $(PKGNAME)_$(PKGVERS).tar.gz $(PKGNAME).Rcheck