Rev 56574 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
#-*- Makefile -*-## ${R_HOME}/src/library/Makefilesrcdir = .top_srcdir = ../..top_builddir = ../..include ../gnuwin32/MkRulesinclude ../../share/make/vars.mkECHO = echoMKINSTALLDIRS = mkdir -pINSTALL_DATA = cpRVER = $(shell cut -d' ' -f1 ../../VERSION | sed -n 1p)R_EXE = $(top_builddir)/$(BINDIR)/Rterm --vanilla --slave.SUFFIXES: .Rdtsall: R## beware there is a bootstrapping problem here: tools uses tools to## dump its namespace. So it works initially, but not to update.## When base is made we need to use 'date' to set the timestamp in## its DESCRIPTION, so we remake it before dumping the DESCRIPTION files.## VERSION is needed to use mkdesc2 in packages base and tools.## R_ARCH is needed for etc$(R_ARCH)/Makecomf in */src/Makefile.winR:@$(MKINSTALLDIRS) $(top_builddir)/library@for pkg in base tools compiler; do \$(MAKE) -C $${pkg} -f Makefile.win R_ARCH=$(R_ARCH) VERSION=$(RVER) \all install-tests || exit 1; \done@if test -z "$(R_NO_BASE_COMPILE)"; then \for pkg in base tools; do \$(MAKE) -C $${pkg} -f Makefile.win mklazycomp || exit 1; \done; \else \for pkg in base tools; do \$(MAKE) -C $${pkg} -f Makefile.win Rlazy || exit 1; \done; \fi@for pkg in $(R_PKGS_BASE1); do \$(MAKE) -C $${pkg} -f Makefile.win R_ARCH=$(R_ARCH) \all install-tests || exit 1; \done@(cd base && $(MAKE) -f Makefile.win mkdesc)@$(ECHO) "tools:::.vinstall_package_descriptions_as_RDS(\"$(top_builddir)/library\", \"$(R_PKGS_BASE)\")" | \R_DEFAULT_PACKAGES=tools LC_ALL=C $(R_EXE) > /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) > /dev/null## do Rdobjects before metadata before help indicesdocs:@$(MAKE) -f Makefile.win Rdobjects@$(MAKE) -f Makefile.win metadata@$(MAKE) -f Makefile.win help-indicesifeq ($(strip $(BUILD_HTML)),YES)@$(MAKE) -f Makefile.win Rdfilesendif@touch stamp-docs# fix the order to make best use of parallel buildsRD-TS = base.Rdts stats.Rdts utils.Rdts methods.Rdts graphics.Rdts grDevices.Rdts datasets.Rdts grid.Rdts tools.Rdts tcltk.Rdts splines.Rdts stats4.Rdts compiler.Rdts parallel.Rdts# RD-TS = $(R_PKGS_BASE:=.Rdts)Rd-ts: $(RD-TS)%.Rdts:@$(ECHO) "options(warn=1);tools:::.install_package_Rd_objects(\"$(srcdir)/$*\", \"$(top_builddir)/library/$*\")" | R_DEFAULT_PACKAGES=NULL $(R_EXE) || exit 1@$(ECHO) -n " $*$(ECHO_C)"Rdobjects:@$(ECHO) -n "installing parsed Rd:"@$(MAKE) -f Makefile.win Rd-ts@$(ECHO)help-indices:@$(ECHO) -n "writing indices for package:"@for pkg in $(R_PKGS_BASE); do \$(ECHO) -n " $${pkg}" ; \$(ECHO) "options(warn=1);tools:::.writePkgIndices(\"$${pkg}\", \"$(top_builddir)/library/$${pkg}\")" | R_DEFAULT_PACKAGES=utils LC_ALL=C $(R_EXE) || exit 1; \done@$(ECHO)## FIXME: do this in parallel (but avoid interleaving output)Rdfiles:@$(ECHO) "building all R object docs"@for pkg in $(R_PKGS_BASE); do \$(ECHO) "tools:::.convertRdfiles(\"$(srcdir)/$${pkg}\", \"$(top_builddir)/library/$${pkg}\", silent = TRUE)" | LC_ALL=C $(R_EXE) || exit 1; \donevignettes:@for pkg in grid parallel utils; do \$(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_LIBS_USER= R_LIBS_SITE= \$(R_EXE) > /dev/null; \done@rm -rf .vignettesmetadata:@$(ECHO) "building/updating package metadata ..."@$(ECHO) "tools:::.vinstall_package_indices(\"$(srcdir)\", \"$(top_builddir)/library\", \"$(R_PKGS_BASE)\")" | \R_DEFAULT_PACKAGES=tools LC_ALL=C $(R_EXE) > /dev/nullclean:@for pkg in $(R_PKGS_BASE); do \$(MAKE) --no-print-directory -C $${pkg} \-f Makefile.win R_ARCH=$(R_ARCH) clean-win; \done-@rm -f stamp-*### ----------- targets for R-core use ----------### These are intended to be run on an already-built R, possibly after### editing the code in a standard package.### Targets of the same name can be run in individual package directories.### These do not change datasets (no R code)### R_PKGS_BASE2 is all except datasets and methods.### They are not currently safe for a parallel make.## methods needs to be dumped, so is omitted here.Rsimple:@for pkg in $(R_PKGS_BASE2); do \$(MAKE) -C $${pkg} -f Makefile.win Rsimple || exit 1; \done## Lazy-loaded, not compiledRlazy:@for pkg in $(R_PKGS_BASE2) methods; do \$(MAKE) -C $${pkg} -f Makefile.win Rlazy || exit 1; \done## Lazy-loaded, compiledRlazycomp:@for pkg in $(R_PKGS_BASE2) methods; do \$(MAKE) -C $${pkg} -f Makefile.win Rlazycomp || exit 1; \done