# # ${R_HOME}/src/library/Makefile VPATH = @srcdir@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = ../.. subdir = src/library include $(top_builddir)/Makeconf distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) DISTFILES = Makefile.in SUBDIRS = profile $(R_PKGS_BASE) Recommended ## ## Need to use R CMD to ensure that R_HOME is set (or do this ourselves). ## Need to go through Rcmd rather than just call $(PERL) to ensure that ## PERL5LIB/PERLLIB are set appropriately (or do this ourselves). ## See e.g. @file{src/gnuwin32/help/Makefile}. R_CMD_BUILD_HELP = $(top_builddir)/bin/R CMD perl $(top_srcdir)/share/perl/build-help.pl ## R_CMD_BUILD_HELP_OPTS = R_EXE = $(top_builddir)/bin/R --vanilla PDFLATEX = @PDFLATEX@ all: Makefile R Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ ## beware there is a bootstrapping problem here: tools uses tools to ## dump its namespace. So it works initially, but not to update. R: @$(MKINSTALLDIRS) $(top_builddir)/library @for pkg in profile $(R_PKGS_BASE); do \ (cd $${pkg} && $(MAKE)) || exit 1; \ done @echo "tools:::.vinstall_package_descriptions_as_RDS(\"$(top_builddir)/library\", \"$(R_PKGS_BASE)\")" | \ R_DEFAULT_PACKAGES=tools LC_ALL=C $(R_EXE) --slave > /dev/null @echo "installing parsed NAMESPACE files" @rm -f $(top_builddir)/library/tools/Meta/nsInfo.rds @echo "tools:::.vinstall_package_namespaces_as_RDS(\"$(top_builddir)/library\", \"$(R_PKGS_BASE)\")" | \ R_DEFAULT_PACKAGES=tools LC_ALL=C $(R_EXE) --slave > /dev/null @$(INSTALL_DATA) $(top_srcdir)/doc/html/R.css \ $(top_builddir)/library docs: @echo "building all R object docs (text, HTML, LaTeX, examples)" @$(MAKE) help-indices @$(MAKE) Rdfiles @$(MAKE) indices @touch stamp-docs help-indices: @if @NO_PERL5@; then \ echo "you need Perl version 5 to build the R object docs"; \ exit 1; \ fi @for pkg in $(R_PKGS_BASE); do \ $(R_CMD_BUILD_HELP) $(R_CMD_BUILD_HELP_OPTS) --index $(srcdir)/$${pkg}; \ done Rdfiles: @if @NO_PERL5@; then \ echo "you need Perl version 5 to build the R object docs"; \ exit 1; \ fi @for pkg in $(R_PKGS_BASE); do \ $(R_CMD_BUILD_HELP) $(R_CMD_BUILD_HELP_OPTS) $(srcdir)/$${pkg}; \ done vignettes: @if test "$(PDFLATEX)" = false; then \ echo "WARNING: cannot build/update package vignettes."; \ echo "'pdflatex' needed but missing on your system."; \ else \ for pkg in $(R_PKGS_BASE); do \ if test -d "$(srcdir)/$${pkg}/inst/doc"; then \ echo "building/updating vignettes for package '$${pkg}' ..."; \ (echo "tools:::.install_package_vignettes(\"$(srcdir)/$${pkg}\", \"$(top_builddir)/library/$${pkg}\")") | \ R_DEFAULT_PACKAGES="utils,tools" LC_ALL=C \ $(R_EXE) --slave > /dev/null; \ fi; \ done; \ fi indices: @echo "building/updating package indices ..." @echo "tools:::.vinstall_package_indices(\"$(srcdir)\", \"$(top_builddir)/library\", \"$(R_PKGS_BASE)\")" | \ R_DEFAULT_PACKAGES=tools LC_ALL=C $(R_EXE) --slave > /dev/null @cat $(top_builddir)/library/*/CONTENTS \ > $(top_builddir)/doc/html/search/index.txt help: @$(MAKE) Rdfiles R_CMD_BUILD_HELP_OPTS="--txt" html: @$(MAKE) Rdfiles R_CMD_BUILD_HELP_OPTS="--html" @echo "tools:::unix.packages.html(.Library)" | \ R_DEFAULT_PACKAGES=NULL LC_ALL=C "${R_EXE}" >/dev/null latex: @$(MAKE) Rdfiles R_CMD_BUILD_HELP_OPTS="--latex" examples: @$(MAKE) Rdfiles R_CMD_BUILD_HELP_OPTS="--example" install: installdirs @echo "installing packages ..." @cp -r $(top_builddir)/library "$(rhome)" || \ (cd $(top_builddir)/library; \ $(TAR) cf - . | (cd "$(rhome)/library"; $(TAR) xmof -)) @echo " building HTML index ..." @echo "tools:::unix.packages.html(.Library, docdir=\"${rdocdir}\")" | \ R_DEFAULT_PACKAGES=NULL LC_ALL=C ${R_EXE} >/dev/null installdirs: @$(MKINSTALLDIRS) "$(rhome)/library" install-strip: @$(MAKE) INSTALL_PROGRAM="${INSTALL_PROGRAM} -s" install uninstall: @echo "uninstalling packages ..." @(cd "$(rhome)/library"; \ for p in $(R_PKGS); do rm -rf $${p}; done) @rm -f "$(rhome)/library/R.css" @rmdir "$(rhome)/library" 2>/dev/null \ || echo " subdir $(rhome)/library not removed" mostlyclean: clean clean: @(for d in $(SUBDIRS); do rsd="$${d} $${rsd}"; done; \ for d in $${rsd}; do (cd $${d} && $(MAKE) $@); done) -@rm -rf .vignettes -@rm -f stamp-* distclean: @(for d in $(SUBDIRS); do rsd="$${d} $${rsd}"; done; \ for d in $${rsd}; do (cd $${d} && $(MAKE) $@); done) -@rm -f Makefile maintainer-clean: distclean TAGS info dvi check: 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 d in $(SUBDIRS); do \ test -d $(distdir)/$${d} \ || mkdir $(distdir)/$${d} \ || exit 1; \ chmod 755 $(distdir)/$${d}; \ (cd $${d} && $(MAKE) distdir) \ || exit 1; \ done