aboutsummaryrefslogtreecommitdiff
path: root/GNUmakefile
diff options
context:
space:
mode:
authorJohannes Ranke <jranke@uni-bremen.de>2014-10-06 22:40:36 +0200
committerJohannes Ranke <jranke@uni-bremen.de>2014-10-06 22:40:36 +0200
commit8d7007876dbc01285616817ec261975aa520808c (patch)
tree2c390461c88452d96742effa7c24b084e3fb21c7 /GNUmakefile
parent7ec7a3ab7fe9a01a29f858de2087bba1e575b374 (diff)
New static documentation, installation using repository
The Makefile was enhanced to support generating static documentation, which will also point to vignettes (e.g. a manual) that will be written in the future. Installation instructions were updated to describe the much easier installation from the newly created repository.
Diffstat (limited to 'GNUmakefile')
-rw-r--r--GNUmakefile80
1 files changed, 61 insertions, 19 deletions
diff --git a/GNUmakefile b/GNUmakefile
index b034b3e..a3f98c3 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -1,41 +1,83 @@
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
+SDDIR ?= $(RFSVN)/www/gmkin_static
.PHONY: help
-help:
- @echo "\nExecute development tasks for $(PKGNAME)\n"
- @echo "Usage: \`make <task>\` where <task> is one of:"
- @echo ""
- @echo "Development Tasks"
- @echo "-----------------"
- @echo " build Create the package"
- @echo " check Invoke build and then check the package"
- @echo " install Invoke build and then install the result"
- @echo ""
-
-#------------------------------------------------------------------------------
-# Development Tasks
-#------------------------------------------------------------------------------
+pkgfiles = NEWS \
+ data/* \
+ DESCRIPTION \
+ inst/staticdocs/README \
+ man/* \
+ NAMESPACE \
+ R/* \
+ README.md \
+ TODO
+ # TODO \
+ # vignettes/*
+
+all: NEWS check clean
NEWS: NEWS.md
sed -e 's/^-/ -/' -e 's/^## *//' -e 's/^#/\t\t/' <NEWS.md | fmt -80 >NEWS
-build: NEWS
+$(TGZ): $(pkgfiles)
cd ..;\
"$(RBIN)/R" CMD build $(PKGSRC)
-install: build
+$(TGZVNR): $(pkgfiles)
cd ..;\
- "$(RBIN)/R" CMD INSTALL $(PKGNAME)_$(PKGVERS).tar.gz
+ "$(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
- cd ..;\
- "$(RBIN)/R" CMD check --as-cran $(PKGNAME)_$(PKGVERS).tar.gz
+ # 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/gmkin_manual.pdf: vignettes/gmkin_manual.Rnw
+ "$(RBIN)/Rscript" -e "tools::buildVignette(file = 'vignettes/gmkin_manual.Rnw', dir = 'vignettes')"
+
+vignettes:
+#vignettes: vignettes/gmkin_manual.pdf
+
+sd:
+ "$(RBIN)/Rscript" -e "library(staticdocs); build_site()"
+
+move-sd:
+ rm -rf $(SDDIR)/*;\
+ cp -r inst/web/* $(SDDIR); cd $(SDDIR) && svn add --force .
+
+r-forge: sd move-sd
+ cd $(RFSVN) && svn commit -m 'update gmkin static documentation from github repository'
+
+clean:
+ $(RM) -r $(PKGNAME).Rcheck/
+ $(RM) vignettes/*.R

Contact - Imprint