diff options
author | jranke <jranke@edb9625f-4e0d-4859-8d74-9fd3b1da38cb> | 2014-11-25 08:54:34 +0000 |
---|---|---|
committer | jranke <jranke@edb9625f-4e0d-4859-8d74-9fd3b1da38cb> | 2014-11-25 08:54:34 +0000 |
commit | 9130b5071c653e676e20537dbf2b8a3f06a4ef68 (patch) | |
tree | 6646fb95c9edff5f75ae01f52350a068a4177329 /GNUmakefile | |
parent | 89d95c58070dd70db432ac3f4f03f697ac9fd441 (diff) |
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
Diffstat (limited to 'GNUmakefile')
-rw-r--r-- | GNUmakefile | 81 |
1 files changed, 81 insertions, 0 deletions
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 |