diff options
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 |