| # |
| # ${R_HOME}/doc/Makefile |
| |
| VPATH = @srcdir@ |
| srcdir = @srcdir@ |
| top_srcdir = @top_srcdir@ |
| |
| top_builddir = .. |
| subdir = doc |
| |
| include $(top_builddir)/Makeconf |
| |
| distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) |
| INSTFILES = AUTHORS COPYING COPYRIGHTS CRAN_mirrors.csv BioC_mirrors.csv \ |
| KEYWORDS KEYWORDS.db THANKS NEWS.0 NEWS.1 NEWS.2 |
| DISTFILES = Makefile.in Makefile.win $(INSTFILES) R.aux Rscript.1 \ |
| NEWS.Rd NEWS.2.Rd |
| INSTFILES2 = NEWS.rds NEWS NEWS.pdf |
| NON_SVN_INSTFILES = FAQ RESOURCES NEWS NEWS.pdf |
| ## generated later. |
| SUBDIRS = html manual |
| |
| HELP2MAN = perl $(top_srcdir)/tools/help2man.pl |
| |
| R_EXE = $(top_builddir)/bin/R --vanilla --slave |
| |
| all: Makefile R docs |
| Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status |
| @cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ |
| |
| ## FIXME: NEWS.rds is needed by news() and hence in principle part of 'R', but |
| ## it can only be built by R_EXE which at this point does not exist (if built from scratch) |
| R: Makefile svnonly |
| @for d in $(SUBDIRS); do \ |
| (cd $${d} && $(MAKE) $@) || exit 1; \ |
| done |
| @if test "$(BUILDDIR_IS_SRCDIR)" = no ; then \ |
| $(MAKE) rdocdir=$(top_builddir)/doc install-sources; \ |
| fi |
| |
| docs: R.1 NEWS.rds NEWS html/NEWS.html NEWS.pdf |
| @(cd manual && $(MAKE) $@) |
| |
| R.1: |
| @$(HELP2MAN) --include=$(srcdir)/R.aux --no-info --output=R.1 \ |
| --name="a language for data analysis and graphics" \ |
| $(top_builddir)/bin/R |
| |
| NEWS.rds: $(srcdir)/NEWS.Rd |
| @$(ECHO) "options(warn=1);saveRDS(tools:::prepare_Rd(tools::parse_Rd(\"$(srcdir)/NEWS.Rd\", \ |
| macros = \"../share/Rd/macros/system.Rd\"), stages = 'install', warningCalls = FALSE), \ |
| 'NEWS.rds')" | $(R_EXE) |
| |
| NEWS: NEWS.rds |
| @$(ECHO) "creating doc/NEWS" |
| @$(ECHO) 'options(warn=1);tools:::Rd2txt_NEWS_in_Rd("NEWS.rds", "NEWS")' | $(R_EXE) |
| |
| html/NEWS.html: NEWS.rds |
| @$(ECHO) 'options(warn=1);tools:::Rd2HTML_NEWS_in_Rd("NEWS.rds", "html/NEWS.html")' | $(R_EXE) |
| |
| PDFLATEX = @PDFLATEX@ |
| ## needs pdflatex (and more) |
| ## Need LC_COLLATE to work around the misuse of [A-z] in texi2dvi 1.135 |
| ## (as reported by MM) |
| NEWS.pdf: NEWS.rds |
| @if test -z "$(PDFLATEX)"; then \ |
| $(ECHO) "'pdflatex' is needed to make NEWS.pdf but is missing on your system."; \ |
| else \ |
| $(ECHO) "creating doc/NEWS.pdf"; \ |
| $(ECHO) 'options(warn=1);tools:::Rd2pdf_NEWS_in_Rd("NEWS.rds", "NEWS.pdf")' | LC_COLLATE=C $(R_EXE); \ |
| fi |
| |
| ## NEWS.2.html ships as doc/html/NEWS.2.html in the sources. |
| docs2: NEWS.2.rds NEWS.2.html NEWS.2.pdf |
| |
| NEWS.2.rds: $(srcdir)/NEWS.2.Rd |
| @$(ECHO) "options(warn=1);saveRDS(tools:::prepare_Rd(tools::parse_Rd(\"$(srcdir)/NEWS.2.Rd\", \ |
| macros = \"../share/Rd/macros/system.Rd\"), stages = 'install', warningCalls = FALSE), \ |
| 'NEWS.2.rds')" | $(R_EXE) |
| |
| ## NB: this is only the top part of NEWS.2 in the sources. |
| NEWS.2: NEWS.2.rds |
| @$(ECHO) "creating NEWS.2" |
| @$(ECHO) 'options(warn=1);tools:::Rd2txt_NEWS_in_Rd("NEWS.2.rds", "NEWS.2")' | $(R_EXE) |
| |
| NEWS.2.html: NEWS.2.rds |
| @$(ECHO) "creating NEWS.2.html" |
| @$(ECHO) 'options(warn=1);tools:::Rd2HTML_NEWS_in_Rd("NEWS.2.rds", "NEWS.2.html")' | $(R_EXE) |
| |
| NEWS.2.pdf: NEWS.2.rds |
| @if test -z "$(PDFLATEX)"; then \ |
| $(ECHO) "'pdflatex' is needed to make NEWS.2.pdf but is missing on your system."; \ |
| else \ |
| $(ECHO) "creating NEWS.2.pdf"; \ |
| $(ECHO) 'options(warn=1);tools:::Rd2pdf_NEWS_in_Rd("NEWS.2.rds", "NEWS.2.pdf")' | LC_COLLATE=C $(R_EXE); \ |
| fi |
| |
| |
| install: install-message installdirs install-sources install-sources2 install-man |
| @for d in $(SUBDIRS); do \ |
| (cd $${d} && $(MAKE) $@) || exit 1; \ |
| done |
| installdirs: |
| @$(MKINSTALLDIRS) "$(DESTDIR)$(rdocdir)" |
| @$(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man1 |
| install-man: installdirs R.1 Rscript.1 |
| @rm -f $(DESTDIR)$(mandir)/man1/R.1 |
| @$(INSTALL_DATA) R.1 $(DESTDIR)$(mandir)/man1 |
| @rm -f $(DESTDIR)$(mandir)/man1/Rscript.1 |
| @@$(INSTALL_DATA) ${srcdir}/Rscript.1 $(DESTDIR)$(mandir)/man1 |
| install-message: |
| @$(ECHO) "installing $(subdir) ..." |
| ## installed from srcdir, including to builddir |
| install-sources: |
| @$(MKINSTALLDIRS) "$(DESTDIR)$(rdocdir)" |
| @for f in $(INSTFILES); do \ |
| $(INSTALL_DATA) $(srcdir)/$${f} "$(DESTDIR)$(rdocdir)"; \ |
| done |
| ## installed from builddir |
| install-sources2: installdirs |
| @for f in $(NON_SVN_INSTFILES) $(INSTFILES2); do \ |
| $(INSTALL_DATA) $${f} "$(DESTDIR)$(rdocdir)"; \ |
| done |
| install-strip: install |
| |
| uninstall: |
| @$(ECHO) "uninstalling $(subdir) ..." |
| @if test -d "$(DESTDIR)$(rdocdir)" \ |
| && test "`cd \"$(DESTDIR)$(rhome)\"; $(GETWD)`" \ |
| != "`cd $(top_builddir); $(GETWD)`"; then \ |
| for d in $(SUBDIRS); do \ |
| (cd $${d} && $(MAKE) $@) || exit 1; \ |
| done; \ |
| for f in $(INSTFILES) $(NON_SVN_INSTFILES) $(INSTFILES2); do \ |
| rm -f "$(DESTDIR)$(rdocdir)"/$${f}; \ |
| done; \ |
| rmdir "$(DESTDIR)$(rdocdir)" 2>/dev/null \ |
| || $(ECHO) " subdir $(DESTDIR)$(subdir) not removed"; \ |
| fi |
| @rm -f $(DESTDIR)$(mandir)/man1/R.1 $(DESTDIR)$(mandir)/man1/Rscript.1 |
| |
| dvi info pdf:: |
| @(cd manual && $(MAKE) $@) |
| |
| mostlyclean: |
| clean: |
| @for d in $(SUBDIRS); do \ |
| (cd $${d} && $(MAKE) $@); \ |
| done |
| @if test "$(BUILDDIR_IS_SRCDIR)" = no ; then \ |
| rm -f $(INSTFILES) R.1; \ |
| fi |
| -@rm -f $(INSTFILES2) NEWS.2.rds NEWS.2.html NEWS.2.pdf |
| distclean: clean |
| @for d in $(SUBDIRS); do \ |
| (cd $${d} && $(MAKE) $@) || exit 1; \ |
| done |
| @if test "$(BUILDDIR_IS_SRCDIR)" = no ; then \ |
| rm -f $(NON_SVN_INSTFILES); \ |
| fi |
| -@rm -f Makefile R.1 |
| maintainer-clean: distclean |
| |
| |
| svnonly: |
| @if test -f "$(srcdir)/FAQ" ; then \ |
| if test "$(BUILDDIR_IS_SRCDIR)" = no ; then \ |
| for f in $(NON_SVN_INSTFILES); do \ |
| $(INSTALL_DATA) $(srcdir)/$${f} .; \ |
| done \ |
| fi \ |
| fi |
| |
| distdir: $(DISTFILES) |
| @for f in $(DISTFILES); do \ |
| test -f $(distdir)/$${f} \ |
| || ln $(srcdir)/$${f} $(distdir)/$${f} 2>/dev/null \ |
| || cp -p $(srcdir)/$${f} $(distdir)/$${f}; \ |
| done |
| @for f in $(NON_SVN_INSTFILES) ; do \ |
| cp -p $${f} $(distdir)/$${f}; \ |
| done |
| @for d in $(SUBDIRS); do \ |
| test -d $(distdir)/$${d} \ |
| || mkdir $(distdir)/$${d} \ |
| || exit 1; \ |
| chmod 755 $(distdir)/$${d}; \ |
| (cd $${d} && $(MAKE) distdir) \ |
| || exit 1; \ |
| done |