#
# ${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
## <NOTE>
## 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
## </NOTE>
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
syntax highlighted by Code2HTML, v. 0.9.1