5f19e7b6b9a0ebc5e57db2ba458e5f37c4bd98b2
[makefiles.git] / R_mk / R.mk
1 .PHONY: R-clean R-distclean
2
3 CAT = cat
4 ECHO = echo
5 EPSTOPDF = epstopdf
6 R = R
7
8 RFLAG = --slave --vanilla
9
10 # used by R postscript device.
11 # For details, type '?postscriptFonts' in R.
12 psfamily ?= Japan1
13
14 %.eps.R: %.R
15         @$(ECHO) 'postscript(file="$(subst .R,.eps,$<)",family="$(psfamily)", onefile=F, horizontal=F)' >$@
16         @$(CAT) $< >>$@
17         @$(ECHO) 'invisible(dev.off())' >>$@
18
19 %.eps: %.eps.R
20         $(R) $(RFLAG) <$<
21
22 %.pdf: %.eps
23         $(EPSTOPDF) $<
24
25 %.png.R: %.R
26         @$(ECHO) 'png("$(subst .R,.png,$<)")' >$@
27         @$(CAT) $< >>$@
28         @$(ECHO) 'invisible(dev.off())' >>$@
29
30 %.jpeg.R: %.R
31         @$(ECHO) 'jpeg("$(subst .R,.jpeg,$<)")' >$@
32         @$(CAT) $< >>$@
33         @$(ECHO) 'invisible(dev.off())' >>$@
34
35 # install.packages("RSVGTipsDevice")
36 %.svg.R: %.R
37         @$(ECHO) 'library("RSVGTipsDevice")' >$@
38         @$(ECHO) 'devSVGTips("$(subst .R,.svg,$<)")' >>$@
39         @$(CAT) $< >>$@
40         @$(ECHO) 'invisible(dev.off())' >>$@
41
42 %.png: %.png.R
43         $(R) $(RFLAG) <$<
44
45 %.jpeg: %.jpeg.R
46         $(R) $(RFLAG) <$<
47
48 %.svg: %.svg.R
49         $(R) $(RFLAG) <$<
50
51 R-clean:
52         $(RM) *.pdf.R *.png.R *.jpeg.R *.svg.R *.eps.R
53
54 R-distclean: R-clean
55         $(RM) $(subst .R,.pdf,$(wildcard *.R)) $(subst .R,.png,$(wildcard *.R))  $(subst .R,.jpeg,$(wildcard *.R)) $(subst .R,.svg,$(wildcard *.R)) $(subst .R,.eps,$(wildcard *.R))