From 9130b5071c653e676e20537dbf2b8a3f06a4ef68 Mon Sep 17 00:00:00 2001 From: jranke Date: Tue, 25 Nov 2014 08:54:34 +0000 Subject: Add makefile for building package and static docs git-svn-id: svn+ssh://svn.r-forge.r-project.org/svnroot/kinfit/pkg/kinfit@234 edb9625f-4e0d-4859-8d74-9fd3b1da38cb --- .Rbuildignore | 2 ++ GNUmakefile | 81 +++++++++++++++++++++++++++++++++++++++++++++++++ inst/staticdocs/README | 2 ++ vignettes/examples.pdf | Bin 155752 -> 155675 bytes vignettes/kinfit.pdf | Bin 227222 -> 227289 bytes 5 files changed, 85 insertions(+) create mode 100644 .Rbuildignore create mode 100644 GNUmakefile create mode 100644 inst/staticdocs/README diff --git a/.Rbuildignore b/.Rbuildignore new file mode 100644 index 0000000..663b77d --- /dev/null +++ b/.Rbuildignore @@ -0,0 +1,2 @@ +GNUMakefile +^inst/web diff --git a/GNUmakefile b/GNUmakefile new file mode 100644 index 0000000..833d2fc --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,81 @@ +PKGNAME := $(shell sed -n "s/Package: *\([^ ]*\)/\1/p" DESCRIPTION) +PKGVERS := $(shell sed -n "s/Version: *\([^ ]*\)/\1/p" DESCRIPTION) +PKGSRC := $(shell basename $(PWD)) +TGZ := ../$(PKGSRC)_$(PKGVERS).tar.gz +TGZVNR := ../$(PKGSRC)_$(PKGVERS)-vignettes-not-rebuilt.tar.gz + +# Specify the directory holding R binaries. To use an alternate R build (say a +# pre-prelease version) use `make RBIN=/path/to/other/R/` or `export RBIN=...` +# If no alternate bin folder is specified, the default is to use the folder +# containing the first instance of R on the PATH. +RBIN ?= $(shell dirname "`which R`") +# +# Specify static documentation directories for subversion on r-forge +RFSVN ?= $(HOME)/svn/kinfit.r-forge +RFDIR ?= $(RFSVN)/pkg/kinfit +SDDIR ?= $(RFSVN)/www/kinfit_static + +.PHONY: help + +pkgfiles = data/* \ + DESCRIPTION \ + inst/staticdocs/README \ + man/* \ + NAMESPACE \ + R/* \ + tests \ + vignettes/header.tex \ + vignettes/examples.Rnw \ + vignettes/kinfit.Rnw \ + vignettes/KinGUI/* \ + vignettes/references.bib + +all: check clean + +$(TGZ): $(pkgfiles) + cd ..;\ + "$(RBIN)/R" CMD build $(PKGSRC) + +$(TGZVNR): $(pkgfiles) + cd ..;\ + "$(RBIN)/R" CMD build $(PKGSRC) --no-build-vignettes;\ + cd $(PKGSRC);\ + mv $(TGZ) $(TGZVNR) + +build: $(TGZ) + +build-no-vignettes: $(TGZVNR) + +install: build + "$(RBIN)/R" CMD INSTALL $(TGZ) + +install-no-vignettes: build-no-vignettes + "$(RBIN)/R" CMD INSTALL $(TGZVNR) + +check: build + # Vignettes have been rebuilt by the build target + "$(RBIN)/R" CMD check --as-cran --no-tests --no-build-vignettes $(TGZ) + +check-no-vignettes: build-no-vignettes + mv $(TGZVNR) $(TGZ) + "$(RBIN)/R" CMD check --as-cran --no-tests $(TGZ) + mv $(TGZ) $(TGZVNR) + +vignettes/kinfit.pdf: vignettes/kinfit.Rnw + "$(RBIN)/Rscript" -e "tools::buildVignette(file = 'vignettes/kinfit.Rnw', dir = 'vignettes')" + +vignettes/examples.pdf: vignettes/examples.Rnw + "$(RBIN)/Rscript" -e "tools::buildVignette(file = 'vignettes/examples.Rnw', dir = 'vignettes')" + +vignettes: vignettes/examples.pdf vignettes/kinfit.pdf + +sd: + "$(RBIN)/Rscript" -e "library(staticdocs); build_site()" + +move-sd: sd + rm -f $(SDDIR)/{*.html,css/*.css,img/*.png,js/*.js,vignettes/*.pdf,vignettes/*.html};\ + cp -r inst/web/* $(SDDIR); cd $(SDDIR) && svn add --force . + +clean: + $(RM) -r $(PKGNAME).Rcheck/ + $(RM) vignettes/*.R diff --git a/inst/staticdocs/README b/inst/staticdocs/README new file mode 100644 index 0000000..0ec42e6 --- /dev/null +++ b/inst/staticdocs/README @@ -0,0 +1,2 @@ +This directory is simply here because building with current +staticdocs versions does now work without it. diff --git a/vignettes/examples.pdf b/vignettes/examples.pdf index 93d583f..ad7dc1b 100644 Binary files a/vignettes/examples.pdf and b/vignettes/examples.pdf differ diff --git a/vignettes/kinfit.pdf b/vignettes/kinfit.pdf index 811c902..c3c161f 100644 Binary files a/vignettes/kinfit.pdf and b/vignettes/kinfit.pdf differ -- cgit v1.2.1