# # ${R_HOME}/Makefile VPATH = @srcdir@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = . include $(top_builddir)/Makeconf distdir = $(PACKAGE)-$(VERSION) INSTFILES = COPYING NEWS NON_SVN_INSTFILES = SVN-REVISION DISTFILES = $(INSTFILES) \ ChangeLog INSTALL ONEWS OONEWS README VERSION \ Makeconf.in Makefile.in \ config.site configure configure.ac SUBDIRS = m4 tools doc etc share src tests @USE_NLS_TRUE@ po SUBDIRS_WITH_NO_BUILD = @USE_NLS_FALSE@ po all: Makefile Makeconf R docs recommended recommended: @USE_RECOMMENDED_PACKAGES_TRUE@ stamp-recommended Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @cd $(top_builddir) && $(SHELL) ./config.status $@ Makeconf: $(srcdir)/Makeconf.in $(top_builddir)/config.status @cd $(top_builddir) && $(SHELL) ./config.status $@ ACLOCAL_M4 = aclocal.m4 ACINCLUDE_DEPENDENCIES = \ m4/R.m4 \ m4/cairo.m4 \ m4/clibs.m4 \ m4/codeset.m4 \ m4/gettext.m4 m4/gettext-lib.m4 \ m4/java.m4 \ m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4 m4/ltsugar.m4 m4/lt~obsolete.m4 CONFIGURE_DEPENDENCIES = $(srcdir)/VERSION config.status: $(srcdir)/configure @$(SHELL) ./config.status --recheck $(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) @BD=`pwd`; cd $(srcdir) && $(AUTOCONF) -B $${BD} $(ACLOCAL_M4): $(srcdir)/configure.ac acinclude.m4 @BD=`pwd`; cd $(srcdir) && $(ACLOCAL) --output=$${BD}/$@ -I $${BD} acinclude.m4: $(srcdir)/configure.ac $(ACINCLUDE_DEPENDENCIES) @(cd $(srcdir) && cat $(ACINCLUDE_DEPENDENCIES)) > $@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ libtool: $(LIBTOOL_DEPS) $(SHELL) ./config.status --recheck R: Makefile svnonly @if test "$(BUILDDIR_IS_SRCDIR)" = no ; then \ for f in $(INSTFILES); do \ $(INSTALL_DATA) $(srcdir)/$${f} $(top_builddir); \ done; \ fi @for d in $(SUBDIRS); do \ (cd $${d} && $(MAKE) R) || exit 1; \ done @test -f src/library/stamp-docs || \ $(ECHO) "you should 'make docs' now ..." docs: R FORCE -@(cd doc && $(MAKE) $@) -@(cd src/library && $(MAKE) $@) help html latex examples: FORCE -@(cd src/library && $(MAKE) $@) FORCE: stamp-recommended: R docs @(cd src/library/Recommended && $(MAKE)) vignettes: stamp-recommended @(cd src/library && $(MAKE) $@) install install-strip: installdirs svnonly @for d in $(SUBDIRS); do \ (cd $${d} && $(MAKE) $@) || exit 1; \ done @for f in $(INSTFILES); do \ $(INSTALL_DATA) $(srcdir)/$${f} "$(DESTDIR)$(rhome)"; \ done @for f in $(NON_SVN_INSTFILES); do \ $(INSTALL_DATA) $${f} "$(DESTDIR)$(rhome)"; \ done @WANT_R_FRAMEWORK_TRUE@ $(MAKE) install-R-framework @WANT_R_FRAMEWORK_TRUE@ @(sed 's|^LIBR =.*|LIBR = -F$(R_FRAMEWORK_DIR)/.. -framework R|' \ @WANT_R_FRAMEWORK_TRUE@ $(top_builddir)/etc/Makeconf > "$(rhome)/etc${R_ARCH}/Makeconf") @WANT_R_FRAMEWORK_TRUE@ @(sed 's/Versions\/$(FW_VERSION)\/Resources/Resources/' \ @WANT_R_FRAMEWORK_TRUE@ $(R_FRAMEWORK_DIR)/Resources/bin/R > \ @WANT_R_FRAMEWORK_TRUE@ $(R_FRAMEWORK_DIR)/Resources/bin/RR) @WANT_R_FRAMEWORK_TRUE@ @(mv $(R_FRAMEWORK_DIR)/Resources/bin/RR $(R_FRAMEWORK_DIR)/Resources/bin/R) @WANT_R_FRAMEWORK_TRUE@ @(chmod a+x $(R_FRAMEWORK_DIR)/Resources/bin/R) @WANT_R_FRAMEWORK_TRUE@ @(chmod -R g+w $(R_FRAMEWORK_DIR)) svnonly: @if test ! -f "$(srcdir)/doc/FAQ" || test -f non-tarball ; then \ (cd doc/manual && $(MAKE) front-matter html-non-svn) ; \ touch non-tarball ; \ (cd $(srcdir); LC_ALL=C TZ=GMT svn info || $(ECHO) "Revision: unknown") 2> /dev/null \ | sed -n -e '/^Revision/p' -e '/^Last Changed Date/'p \ | cut -d' ' -f1,2,3,4 > SVN-REVISION-tmp ; \ $(top_srcdir)/tools/move-if-change SVN-REVISION-tmp SVN-REVISION ; \ rm -f SVN-REVISION-tmp ; \ else \ if test "$(BUILDDIR_IS_SRCDIR)" = no ; then \ for f in $(NON_SVN_INSTFILES); do \ $(INSTALL_DATA) $(srcdir)/$${f} $(top_builddir); \ done \ fi \ fi libR_la = lib/libR$(DYLIB_EXT) install-libR: @if test -f $(libR_la); then $(MAKE) install-libR-exists; fi install-libR-exists: @$(MKINSTALLDIRS) "$(DESTDIR)${libdir}" @$(INSTALL_DATA) -m755 $(libR_la) "$(DESTDIR)${libdir}" installdirs: @$(MKINSTALLDIRS) "$(DESTDIR)$(rhome)" uninstall: @(for d in $(SUBDIRS); do rsd="$${d} $${rsd}"; done; \ for d in $${rsd}; do (cd $${d} && $(MAKE) $@); done) @for f in $(INSTFILES) $(NON_SVN_INSTFILES); do \ rm -f "$(DESTDIR)$(rhome)/$${f}"; \ done @rm -rf "$(DESTDIR)$(Rexecbindir)" "$(DESTDIR)$(rhome)/lib" @rmdir "$(DESTDIR)$(rhome)" 2>/dev/null \ || $(ECHO) " dir $(DESTDIR)$(rhome) not removed" @rm -f "$(DESTDIR)${libdir}/libR$(DYLIB_EXT)" mostlyclean: clean clean: @(for d in $(SUBDIRS); do rsd="$${d} $${rsd}"; done; \ for d in $${rsd}; do (cd $${d} && $(MAKE) $@); done) @if test "$(BUILDDIR_IS_SRCDIR)" = no ; then \ rm -f $(INSTFILES); \ fi distclean: clean @(for d in $(SUBDIRS); do rsd="$${d} $${rsd}"; done; \ for d in $${rsd}; do (cd $${d} && $(MAKE) $@); done) -@rm -rf bin include lib library modules gnome @if test -f non-tarball ; then \ rm -f $(NON_SVN_INSTFILES) non-tarball doc/FAQ doc/RESOURCES doc/html/resources.html ; \ fi @if test "$(BUILDDIR_IS_SRCDIR)" = no ; then \ rm -f $(NON_SVN_INSTFILES); \ fi -@rm -f Makeconf Makefile Makefile.bak Makefrag.* \ config.cache config.log config.status libtool \ $(ACLOCAL_M4) acinclude.m4 $(distdir).tar.gz maintainer-clean: distclean @$(ECHO) "This command is intended for maintainers to use; it" @$(ECHO) "deletes files that may need special rules to rebuild" @(for d in $(SUBDIRS); do rsd="$${d} $${rsd}"; done; \ for d in $${rsd}; do (cd $${d} && $(MAKE) $@); done) -@(cd $(srcdir) && rm -rf autom4te.cache) dist: dist-unix dist-unix: distdir -chmod -R a+r $(distdir) -chmod -R go-w $(distdir) distname=`$(srcdir)/tools/GETDISTNAME`; \ dirname=`$(ECHO) $${distname} | sed -e s/_.*//`; \ if test $(distdir) != $${dirname} ; then \ mv $(distdir) $${dirname}; \ fi ; \ GZIP=$(GZIP) $(TAR) czf $${distname}.tar.gz $${dirname}; \ rm -rf $${dirname} dist-win: distdir: $(DISTFILES) vignettes @rm -rf $(distdir) @mkdir $(distdir) @-chmod 755 $(distdir) @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 @for d in $(SUBDIRS_WITH_NO_BUILD); do \ ((cd $(srcdir); $(TAR) -c -f - $(DISTDIR_TAR_EXCLUDE) $${d}) \ | (cd $(distdir); $(TAR) -x -f -)) \ || exit 1; \ done @cp library/grid/doc/*.pdf library/grid/doc/index.html \ $(distdir)/src/library/grid/inst/doc @(cd $(distdir); tools/link-recommended) dvi info pdf: -@(cd doc && $(MAKE) $@) install-dvi install-info install-pdf: -@(cd doc/manual && $(MAKE) $@) uninstall-dvi uninstall-info uninstall-pdf: -@(cd doc/manual && $(MAKE) $@) check check-devel check-all: @(cd tests && $(MAKE) $@) reset-recommended: @(cd src/library/Recommended && $(MAKE) clean) install-R-framework: @$(ECHO) "Creating R framework ..." @(cd "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)" && \ ln -f -s -n Resources/include Headers && \ ln -f -s -n Resources/lib/libR.dylib R) @if [ ! -e "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/PrivateHeaders" ]; then \ mkdir "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/PrivateHeaders"; fi @(cd "$(R_FRAMEWORK_DIR)/Versions" && \ ln -f -s -n $(FW_VERSION) Current) @(cd "$(R_FRAMEWORK_DIR)" && \ ln -f -s -n Versions/Current/PrivateHeaders PrivateHeaders&& \ ln -f -s -n Versions/Current/Headers Headers&& \ ln -f -s -n Versions/Current/R R && \ ln -f -s -n Versions/Current/Resources/lib Libraries && \ ln -f -s -n Versions/Current/Resources Resources) @## the resulting libR will point dyld to the fat libR regardless of its origin @(cd "$(R_FRAMEWORK_DIR)/Resources/lib" && \ install_name_tool -id "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/lib/libR.dylib" $(Rexeclibdir)/libR.dylib) @( otool=otool ; if otool -D "$(Rexeclibdir)/libR.dylib"|grep 'not an object'>/dev/null; then otool=otool64; fi; \ for lib in Rlapack Rblas R; do \ if test -e "$(Rexeclibdir)/lib$${lib}.dylib"; then $(ECHO) " lib$${lib}"; \ find "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/" -name '*.so' -or -name '*.dylib' | \ xargs -n 1 install_name_tool -change \ `$${otool} -L $(Rexeclibdir)/lib$${lib}.dylib |sed -n -e '2 s/.\(.*\) (compat.*/\1/p'` \ "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/lib/lib$${lib}.dylib" ; \ find "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/" -name '*.so' -or -name '*.dylib' | \ xargs -n 1 install_name_tool -change lib$${lib}.dylib \ "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/lib/lib$${lib}.dylib" ; \ install_name_tool -id "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/lib/lib$${lib}.dylib" \ "$(Rexeclibdir)/lib$${lib}.dylib"; \ if [ "$(Rexeclibdir)" != "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/lib" ]; then \ $(srcdir)/tools/updatefat "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/lib/lib$${lib}.dylib" "$(Rexeclibdir)/lib$${lib}.dylib"; \ install_name_tool -id "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/lib/lib$${lib}.dylib" \ "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/lib/lib$${lib}.dylib"; \ fi; \ for rexe in `ls "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)"/Resources/bin/exec/*/R "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/bin/exec/R" 2>/dev/null`; do \ install_name_tool -change lib$${lib}.dylib \ "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/lib/lib$${lib}.dylib" "$$rexe" ; \ done; \ fi; \ done) @(cp -R $(srcdir)/src/include/* $(R_FRAMEWORK_DIR)/Versions/Current/PrivateHeaders/ && \ cp src/include/config.h $(R_FRAMEWORK_DIR)/Versions/Current/PrivateHeaders/ && \ chmod a+r $(R_FRAMEWORK_DIR)/Versions/Current/PrivateHeaders/config.h; \ find $(R_FRAMEWORK_DIR)/Versions/Current/PrivateHeaders -name .svn | xargs rm -rf) @(install_name_tool -change libR.dylib \ "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/lib/libR.dylib" \ $(Rexecbindir2)/R) @(if [ -n "${R_ARCH}" ]; then \ rm -rf $(R_FRAMEWORK_DIR)/Versions/Current/PrivateHeaders${R_ARCH} && \ mkdir $(R_FRAMEWORK_DIR)/Versions/Current/PrivateHeaders${R_ARCH} && \ cp src/include/config.h $(R_FRAMEWORK_DIR)/Versions/Current/PrivateHeaders${R_ARCH}/config.h; \ chmod a+r $(R_FRAMEWORK_DIR)/Versions/Current/PrivateHeaders${R_ARCH}/config.h; \ sed -e "s|R_ARCH=${R_ARCH}|R_ARCH=/\`arch\`|" "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/bin/R" \ > "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/bin/.tmp.R" && \ chmod a+x "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/bin/.tmp.R" && \ mv "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/bin/.tmp.R" "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/bin/R"; \ if [ "${R_ARCH}" != /ppc -a "${R_ARCH}" != /i386 -a "${R_ARCH}" != /ppc64 -a "${R_ARCH}" != /x86_64 -a "${R_ARCH}" != /arm ]; then \ $(ECHO) "\ *** WARNING: The architecture name is incompatible with Apple's naming~ convention. This may prevent applications from using the R~ framework. Please use i386, x86_64, ppc, ppc64 or arm as architecture~ names to allow universal builds."|sed 'y/~/\n/' >&2; \ else \ for f in `ls "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Headers/${R_ARCH}/"*.h|xargs basename` config.h; do \ fn="Headers/$$f"; if [ "$$f" = "config.h" ]; then fn="PrivateHeaders/config.h"; fi; \ $(ECHO) "/* This is an automatically generated universal stub for architecture-dependent headers. */~#ifdef __i386__~#include \"i386/$$f\"~#elif defined __ppc__~#include \"ppc/$$f\"~#elif defined __ppc64__~#include \"ppc64/$$f\"~#elif defined __x86_64__~#include \"x86_64/$$f\"~#elif defined __arm__~#include \"arm/$$f\"~#else~#error \"Unsupported architecture.\"~#endif" |sed -e 'y/~/\n/' > "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/$$fn"; \ done; \ fi; \ fi ) @( rm -f "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/R" && \ ln -s bin/R "$(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/R" ) @( $(ECHO) "~~~~ CFBundleIdentifier~ org.r-project.R-framework~ CFBundleInfoDictionaryVersion~ 6.0~ CFBundleName~ R~ CFBundlePackageType~ FMWK~ CFBundleVersion~ $(VERSION)~~" |sed -e 'y/~/\n/' > $(R_FRAMEWORK_DIR)/Versions/$(FW_VERSION)/Resources/Info.plist) TAGS: