#!/usr/bin/make -f

%:
	dh $@ --buildsystem R

# the vignette is built using R.rsp, which is currently not in Debian
# (and also requires R.devices for building *its* vignettes!)
# so instead, we use R.rsp locally to generate a .tex file of the vignette
# to ship with the source package, and the vignette is then generated
# during build with pdflatex

INST_DOC_FILES := $(addprefix inst/doc/R.devices-overview., pdf R tex.rsp)

inst/doc inst/exdata:
	mkdir -p $@

inst/doc/%.pdf: debian/vignettes/%.tex inst/doc
	cd $(dir $<) && pdflatex $(notdir $<) && pdflatex $(notdir $<)
	rm $(addprefix $(basename $<)., aux log out toc)
	mv $(subst tex,pdf,$<) $@

inst/doc/%.R: debian/vignettes/%.R inst/doc
	cp $< $@

inst/doc/%.tex.rsp: vignettes/%.tex.rsp inst/doc
	cp $< $@

# the following files are included in the source package

debian/vignettes/%.R: vignettes/%.tex.rsp
	R -e 'library(R.rsp); rspTangle("$<")'
	mkdir -p debian/vignettes
	mv R.devices-overview.R $@

debian/vignettes/%.tex: vignettes/%.tex.rsp
	mkdir -p $(dir $@)
	R -e 'library(R.rsp); rfile("$<", output = "$@")'
	rm -rf R.devices-overview.* .dir*.tmp debian/vignettes/figures
	mv figures debian/vignettes

# generate exdata .rds file for capturePlot test

debian/R-graphics-engine: debian/R-graphics-engine.c
	$(CC) $(CPPFLAGS) -I/usr/share/R/include $(CFLAGS) $(LDFLAGS) $< -lR \
		-o $@

override_dh_auto_install: debian/R-graphics-engine $(INST_DOC_FILES) inst/exdata
	$(eval ENGINE := $(shell debian/R-graphics-engine))
	dh_auto_install # need R.devices to generate exdata
	R_LIBS=debian/r-cran-r.devices/usr/lib/R/site-library \
		Rscript debian/generate-exdata.R $(ENGINE)
	dh_auto_install # re-install with exdata
