Rev 23155 | Rev 23314 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
include MkRules## This is done so Rpwd.exe gets built first under a native build,## but it is not used in Makefile under a cross-build.ifneq ($(strip $(BUILD)),CROSS)ifneq ($(strip $(wildcard Rpwd.exe)),)all: Rpwd.exe rbuild rpackage rdocselseall: Rpwd.exe$(MAKE) rbuild rpackage rdocsendifelseall: Rpwd.exe rbuild rpackage rdocsendifPACKAGES = base ctest eda lqs methods modreg mva nls splines stepfun tools tsALLPACKAGES = $(PACKAGES) tcltk## must be absolute and space-free pathsifneq ($(strip $(BUILD)),CROSS)RHOME = $(shell ./Rpwd.exe ../..)PKGD = $(shell ./Rpwd.exe $(PKGDIR))elseRHOME = $(shell perl pwd.pl ../..)PKGD = $(shell perl pwd.pl $(PKGDIR))endifRPREFIX = $(shell perl fixed/rwver.pl ../../VERSION)RLIB = $(RHOME)/libraryPKGDIR = $(RHOME)/src/libraryOPTFLAGS=-O2 -Wall -pedantic## use FOPTFLAGS where complex*16 is used.FOPTFLAGS=-O2 -Wallifdef DEBUGOPTFLAGS+=-gFOPTFLAGS+=-gDLLFLAGS=elseDLLFLAGS=-sendifR-DLLFLAGS = -mwindows -Wl,--allow-multiple-definitionR-DLLLIBS =-L. $(FLIBS) -lRblas -lcomctl32 -lversionSOURCES = $(filter-out malloc.c blas00.c,$(wildcard *.c *.f))OBJS = $(SOURCES:.c=.o)MAINLIBS = libmain.a libappl.a libmath.aEXTRALIBS = ga.a gl.a xdr.a ../extra/zlib/libz.a ../extra/pcre/libRpcre.a\../extra/bzip2/libbz2.aLIBFILES = $(foreach i, $(ALLPACKAGES), ../../library/$i) ../../library/R.cssPKGS = $(foreach i,$(PACKAGES),pkg-$i)PKGCLEAN = $(foreach i,$(ALLPACKAGES),pkgclean-$i)# flags to ensure that Doug Lea's malloc is used:ifdef LEA_MALLOCextra-CFLAGS+=-DLEA_MALLOCOBJS-EXTRA=malloc.oendif.PHONY: clean veryclean rlibs fixfiles front-ends rmodules# separate as Tcl/Tk headers are needed.tcl:@$(MAKE) --no-print-directory pkg-tcltkCFLAGS = $(OPTFLAGS) -I../include -I. -DHAVE_CONFIG_H -DR_DLL_BUILDFFLAGS = $(FOPTFLAGS)Rpwd.exe: front-ends/Rpwd.exe$(CP) $< $@front-ends/Rpwd.exe:$(MAKE) --no-print-directory -C front-ends Rpwd## watch out: R.dll and Rblas.dll depend on each other.rbuild: fixfiles rlibs makeMakedeps libRblas.a ../../bin/R.dll libR.a \../../bin/Rblas.dll CHTML front-ends COPYRIGHTS rmodules Rcode## used to build skeletal versions of packages, enough to run## package tools to install them properlyINITPACKAGES = base toolsRcode: fixed/fixdesc@$(ECHO) " making bootstrap versions of packages ..."@for pkg in $(INITPACKAGES); do \if ! test -f $(RHOME)/library/$${pkg}/DESCRIPTION ; then \$(ECHO) " --" $$pkg; \$(MAKE) --no-print-directory -C $(PKGDIR)/$${pkg} PKG=$${pkg} \RHOME=$(RHOME) -f $(RHOME)/src/gnuwin32/MakePkg Rcode; \fi; \done@$(ECHO) " ... done"rpackage: ../../library/R.css@$(MAKE) --no-print-directory $(PKGS)rinstaller:$(MAKE) --no-print-directory -C installer@$(MAKE) --no-print-directory -C installer cleanrlibs:$(MAKE) --no-print-directory -C ../appl OPTFLAGS='$(OPTFLAGS)' -f Makefile.win$(MAKE) --no-print-directory -C ../main OPTFLAGS='$(OPTFLAGS)' -f Makefile.win$(MAKE) --no-print-directory -C ../nmath OPTFLAGS='$(OPTFLAGS)' -f Makefile.win$(MAKE) --no-print-directory -C ./graphapp$(MAKE) --no-print-directory -C ./getline$(MAKE) --no-print-directory -C ../extra/xdr -f Makefile.winrmodules: libRm.a$(MAKE) --no-print-directory -C ../modules \OPTFLAGS='$(OPTFLAGS)' FOPTFLAGS='$(FOPTFLAGS)' -f Makefile.winCOPYRIGHTS: $(RHOME)/COPYRIGHTS COPYRIGHTS.wincat $^ > $@fixfiles: docfiles@$(MKDIR) -p ../../bin@$(MAKE) --no-print-directory -C ./fixedfixed/fixdesc:@sh fixed/GETDESC $(ALLPACKAGES)dllversion.o: ../include/Rversion.hR.dll: R.a $(OBJS-EXTRA) $(MAINLIBS) $(EXTRALIBS) dllversion.oRdll: makeMakedeps ../../bin/R.dll../../bin/R.dll: fixfiles rlibs R.dll@$(MKDIR) -p ../../bin$(CP) R.dll ../../bin/front-ends: libR.a$(MAKE) --no-print-directory -C front-endsR.a: $(OBJS)@$(ECHO) -------- Building $@ --------$(AR) cr R.a $^$(RANLIB) R.a# R.dll exports all global symbols BUT import library (libR.a)# only (all functions) + (global vars listed in exported-vars))libR.a: R.exp$(DLLTOOL) $(DLLTOOLFLAGS) $(R-DLLTOOLFLAGS) --dllname R.dll --def R.exp --output-lib libR.aR.exp: R.exp1@(diff R.exp R.exp1 > /dev/null) || $(CP) R.exp1 R.expR.exp1: R.a $(MAINLIBS) $(EXTRALIBS) exported-vars@$(ECHO) EXPORTS > $@@$(NM) R.a $(MAINLIBS) $(EXTRALIBS) > RDefs@$(SED) -n '/^........ [T] _/s/^........ [T] _/ /p' RDefs >> $@@$(CAT) exported-vars >> $@@$(RM) RDefs# An additional import library needed for the modules that uses R.dll's malloc/.../freelibRm.a: Rm.exp$(DLLTOOL) $(DLLTOOLFLAGS) $(R-DLLTOOLFLAGS) --dllname R.dll --def Rm.exp --output-lib libRm.aRm.exp: Rm.exp1@(diff Rm.exp Rm.exp1 > /dev/null) || $(CP) Rm.exp1 Rm.expRm.exp1: $(OBJS-EXTRA)@$(ECHO) EXPORTS > $@@$(NM) $(OBJS-EXTRA) > RDefs@$(SED) -n '/^........ [T] _/s/^........ [T] _/ /p' RDefs >> $@@$(RM) RDefs../../library/R.css: ../../doc/html/R.css$(CP) $< $@../extra/zlib/libz.a:$(MAKE) --no-print-directory -C ../extra/zlib -f Makefile.win../extra/pcre/libRpcre.a:$(MAKE) --no-print-directory -C ../extra/pcre -f Makefile.win../extra/bzip2/libbz2.a:$(MAKE) --no-print-directory -C ../extra/bzip2 -f Makefile.win libbz2.ardocs:@$(ECHO)@$(ECHO) "------ Making HTML documentation ------"@$(MAKE) --no-print-directory -C ../../doc/manual -f Makefile.win html BUILD=$(BUILD)# ===== BLAS ======Rblas: ../../bin/Rblas.dllRblas-clean:$(RM) ../../bin/Rblas.dll blas00.o blas00.d blas.o cmplxblas.oRblas-DLLLIBS=-L. -lRlibRblas.a: Rblas.def$(DLLTOOL) $(DLLTOOLFLAGS) $(R-DLLTOOLFLAGS) --dllname Rblas.dll \--def Rblas.def --output-lib libRblas.aifeq ($(strip $(USE_ATLAS)),YES)../../bin/Rblas.dll: blas00.o dllversion.o@$(ECHO) -------- Building $@ --------$(DLL) -shared $(DLLFLAGS) -o $@ $^ Rblas.def -L $(ATLAS_PATH) \-L. -lR -lg2c -lf77blas -latlas## suppress lots of warnings: this is a dummyblas00.o: blas00.c$(CC) -O2 -c $< -o $@else../../bin/Rblas.dll: blas.o cmplxblas.o dllversion.o@$(ECHO) -------- Building $@ --------$(DLL) -shared $(DLLFLAGS) -o $@ Rblas.def $^ -L. -lRblas.o: ../appl/blas.f$(F77) $(FFLAGS) -c $< -o $@cmplxblas.o: ../modules/lapack/cmplxblas.f$(F77) $(FOPTFLAGS) -c $< -o $@endif# ===== Packages ======CHTML:ifeq ($(strip $(HELP)),YES)ifeq ($(strip $(WINHELP)),CHM)$(MAKE) --no-print-directory -C ./help -f MkChmDllendififeq ($(strip $(WINHELP)),BOTH)$(MAKE) --no-print-directory -C ./help -f MkChmDllendifendifbase-HELP = ziponlymethods-HELP = ziponlynls-HELP = ziponlyts-HELP = ziponlybase-ZIPDATA = zipts-ZIPDATA = zipMASS-HELP = ziponlyMASS-ZIPDATA = zipboot-HELP = ziponlyboot-ZIPDATA = zipcluster-HELP = ziponlycluster-ZIPDATA = zipgrid-HELP = ziponlygrid-ZIPDATA = ziplattice-HELP = ziponlylattice-ZIPDATA = zipnlme-HELP = ziponlynlme-ZIPDATA = ziprpart-HELP = ziponlyrpart-ZIPDATA = zipsurvival-HELP = ziponlysurvival-ZIPDATA = zipbundle-%:@$(PERL) fixed/dobundle.pl $* $(PKGD) $(RLIB)pkg-%:@$(MAKE) --no-print-directory DLLNM=$($*-DLLNM) FLIBS="$(FLIBS)" BUILD=$(BUILD) \-C $(PKGDIR)/$* PKG=$* RHOME=$(RHOME) RLIB=$(RLIB) RVER=$(RVER) \-f $(RHOME)/src/gnuwin32/MakePkg@if test -d $(RLIB)/$*/data ; then \$(MAKE) --no-print-directory $($*-ZIPDATA)data-$* ; \fiifeq ($(strip $(HELP)),YES)@$(ECHO) " installing help"@$(MAKE) --no-print-directory -C ./help RHOME=$(RHOME) PKGDIR=$(PKGD) RLIB=$(RLIB) $($*-HELP)help-$*ifeq ($(strip $(WINHELP)),CHM)@$(MAKE) --no-print-directory -C ./help RHOME=$(RHOME) PKGDIR=$(PKGD) RLIB=$(RLIB) chm-$*endififeq ($(strip $(WINHELP)),BOTH)@$(MAKE) --no-print-directory -C ./help RHOME=$(RHOME) PKGDIR=$(PKGD) RLIB=$(RLIB) winhlp-$* # also makes chmendifendif@$(MAKE) --no-print-directory BUILD=$(BUILD) \-C $(PKGDIR)/$* PKG=$* RHOME=$(RHOME) RLIB=$(RLIB) \-f $(RHOME)/src/gnuwin32/MakePkg md5sumspkgclean-%:$(MAKE) --no-print-directory DLLNM=$($*-DLLNM) RHOME=$(RHOME) BUILD=$(BUILD) \-C $(PKGDIR)/$* PKG=$* -f $(RHOME)/src/gnuwin32/MakePkg cleanpkgcheck-%:@$(ECHO) -------- Testing package $* ---------@$(MKDIR) -p $(PKGDIR)/$*/check@$(MAKE) --no-print-directory -C $(PKGDIR)/$*/check PKG=$* RHOME=$(RHOME) RLIB=$(RLIB) \-f $(RHOME)/src/gnuwin32/check/PkgCheck@if test -d $(PKGDIR)/$*/tests ; then \$(MAKE) --no-print-directory -C $(PKGDIR)/$*/tests PKG=$* RHOME=$(RHOME) RLIB=$(RLIB) \-f $(RHOME)/src/gnuwin32/check/PkgCheck tests;\fiziphelp-%:$(MAKE) --no-print-directory -C ./help RHOME=$(RHOME) PKGDIR=$(PKGD) RLIB=$(RLIB) ziphelp-$*ziponly-%:$(MAKE) --no-print-directory -C ./help RHOME=$(RHOME) PKGDIR=$(PKGD) RLIB=$(RLIB) ziponlyhelp-$*zipdata-%:@$(ECHO) " zipping data"@(cd $(RLIB)/$*/data; \if test -f Rdata.zip ; then \unzip -qou Rdata; \fi; \$(RM) Rdata.zip filelist ; \ls -1 > filelist; \zip -rmq9X Rdata * -x filelist 00Index)data-%:@$(ECHO) " not zipping data"# ===== cleaning ======clean: cleanwin $(PKGCLEAN)$(RM) -f ../*/*.o $(WINOBJS) *.a ../*/*.d ../*/Makedeps fixed/fixdesc-$(MAKE) --no-print-directory -C ../../doc/manual -f Makefile.win distclean-$(MAKE) --no-print-directory -C ../nmath/standalone -f Makefile.win distclean-$(MAKE) --no-print-directory -C ../modules -f Makefile.win clean-$(MAKE) --no-print-directory -C ../../tests -f Makefile.win clean$(RM) -f ../library/methods/R/methodsfor p in $(REC_PKGS); do \$(RM) -rf ../library/$$p; \donedistclean veryclean: clean clean-recommended$(RM) -r ../../bin ../../lib ../../library ../../modules$(RM) ../include/config.h ../include/psignal.h \../include/Rconfig.h ../include/Rversion.h ../include/Rmath.h$(RM) ../library/*/src/*.o ../library/*/src/*.a$(RM) ../library/*/src/*.d ../library/*/src/Makedeps$(RM) ../library/*/src/*.dll$(RM) -r ../library/*/check$(RM) ../library/tcltk/src/tcl$(TCL_VERSION).def \../library/tcltk//src/tk$(TCL_VERSION).def$(RM) R.exp Rm.exp COPYRIGHTS$(RM) ../../doc/html/search/index.txt ../../doc/html/index.html \../../doc/html/packages.html ../../doc/html/rwin.html \../../doc/html/rw-FAQ.html ../../doc/html/search/SearchEngine.html$(RM) ../../etc/Rconsole ../../etc/Rdevga ../../etc/Rprofile \../../etc/rgb.txt ../../share/make/wintests.mk \../include/Platform.h ../../tests/*.Rout ../../tests/*.Rout.fail$(MAKE) -C fixed distclean-$(MAKE) -C installer distclean@for pkg in $(ALLPACKAGES); do \$(RM) ../library/$${pkg}/DESCRIPTION; \done$(RM) rw-FAQ fixed/html/rw-FAQ.html$(RM) Rpwd.exe # do this last of allcleanwin:$(RM) *.o *.dll *.a *~ \#*\# rw*.zip R.def R.exp1 Rm.exp1\.RData .Rhistory Makedeps *.d$(MAKE) -C graphapp clean$(MAKE) -C fixed clean$(MAKE) -C getline clean$(MAKE) -C help clean$(MAKE) -C front-ends clean$(MAKE) -C ../extra/xdr -f Makefile.win clean$(MAKE) -C ../extra/pcre -f Makefile.win distclean$(MAKE) -C ../extra/bzip2 -f Makefile.win clean$(MAKE) -C bitmap clean-$(MAKE) -C installer clean# ===== testing ======# testscheck test: pkgtests test-Basictest-Basic:-@$(MAKE) --no-print-directory -C $(RHOME)/tests -f $(RHOME)/tests/Makefile.win clean-@$(MAKE) --no-print-directory -C $(RHOME)/tests -f $(RHOME)/tests/Makefile.win RHOME=$(RHOME)PKGS-CHK = $(foreach i, $(PACKAGES), pkgcheck-$i)pkgtests: $(PKGS-CHK)fullcheck: check check-recommendedREC_PKGS-CHK = $(foreach i, $(REC_PKGS), pkgcheck-$i)check-recommended: $(REC_PKGS-CHK)# ===== documentation ======docs manuals:@$(MAKE) --no-print-directory -C $(RHOME)/doc/manual -f Makefile.win clean BUILD=$(BUILD)@$(MAKE) --no-print-directory -C $(RHOME)/doc/manual -f Makefile.win \R_PKGS='$(ALLPACKAGES)' BUILD=$(BUILD)@$(MAKE) --no-print-directory ziponly-base## ===================== Maintainer targets ========================RVER = $(shell cut -d' ' -f1 ../../VERSION | sed -n 1p)docfiles:$(MAKE) -f Makefile.docfilesbitmapdll:$(MAKE) -C bitmapdistribution: bindist packagedist docsdistbindist: tcl bitmapdll docfiles$(RM) -r $(RPREFIX)$(MKDIR) $(RPREFIX)$(CP) -pr ../../bin ../../modules ../../afm $(RPREFIX)$(MKDIR) $(RPREFIX)/library$(CP) -pr $(LIBFILES) $(RPREFIX)/library# morley.tab is needed for R-intro Appendix A$(CP) -p ../library/base/data/morley.tab $(RPREFIX)/library/base/data$(RM) $(RPREFIX)/*/Makefile.in(cd $(RPREFIX)/bin; $(RM) INSTALL REMOVE SHLIB build check \massage-Examples Rd2dvi.sh Rd2txt Rdconv Rdiff.sh Rdindex \Sd2Rd)$(MKDIR) $(RPREFIX)/etc$(CP) -p ../../etc/Rprofile $(RPREFIX)/etc/Rprofile$(CP) -p ../../etc/Rconsole $(RPREFIX)/etc/Rconsole$(CP) -p ../../etc/Rdevga $(RPREFIX)/etc/Rdevga$(CP) -p ../../etc/rgb.txt $(RPREFIX)/etc/rgb.txt$(MKDIR) -p $(RPREFIX)/doc/manual $(RPREFIX)/share/texmf$(CP) -pr ../../doc/html $(RPREFIX)/doc$(CP) -p ../../doc/manual/*.html $(RPREFIX)/doc/manual$(CP) -pr ../../share/texmf $(RPREFIX)/share$(CP) -p ../../AUTHORS ../../COPYING COPYRIGHTS ../../FAQ ../../NEWS \../../README ../../RESOURCES ../../THANKS ../../Y2K $(RPREFIX)$(SED) -e s/@RWVER@/$(RPREFIX)/g \-e s/@RVER@/$(RVER)/g readme > $(RPREFIX)/README.$(RPREFIX)$(CP) -p rw-faq $(RPREFIX)/rw-FAQ$(CP) -p CHANGES README.Rterm $(RPREFIX)find $(RPREFIX) -name CVS -prune -exec rm -rf \{\} \;# convert docs and batch files to CRLF: might already be on Windows, though.ifeq ($(strip $(BUILD)),CROSS)zip -l dosfiles.zip $(RPREFIX)/* $(RPREFIX)/bin/*.batunzip -ao dosfiles.zipelsezip dosfiles.zip $(RPREFIX)/* $(RPREFIX)/bin/*.batunzip -o dosfiles.zipendif$(RM) dosfiles.zip$(RM) $(RPREFIX)b.zip $(RPREFIX)m.zip $(RPREFIX)h.zip \$(RPREFIX)w.zip $(RPREFIX)l.zip $(RPREFIX)ch.zip$(RM) anindex.zipzip -mrX anindex.zip $(RPREFIX)/library/*/help/AnIndexzip -mr9X $(RPREFIX)h.zip $(RPREFIX)/library/*/helpunzip anindex.zip$(RM) anindex.zip$(RM) $(RPREFIX)/doc/manual/R-FAQ.htmlzip -rm9X $(RPREFIX)w.zip $(RPREFIX)/doc/html \$(RPREFIX)/doc/manual/*.html \$(RPREFIX)/library/*/html $(RPREFIX)/library/R.css-zip -rm9X $(RPREFIX)ch.zip $(RPREFIX)/library/*/chtml \$(RPREFIX)/bin/Rchtml.dll# $(RM) $(RPREFIX)/library/*/winhlp/*.GID# -zip -rm9X $(RPREFIX)wh.zip $(RPREFIX)/library/*/winhlpzip -rm9X $(RPREFIX)l.zip $(RPREFIX)/library/*/latex $(RPREFIX)/share/texmf$(RM) -r $(RPREFIX)/doc$(MKDIR) -p $(RPREFIX)/doc/html$(CP) -p ../../doc/html/faq.html ../../doc/html/rw-FAQ.html \$(RPREFIX)/doc/htmlzip -rm9X $(RPREFIX)m.zip $(RPREFIX)/library/*/manzip -r9X $(RPREFIX)b.zip $(RPREFIX)$(RM) -rf $(RPREFIX)#taken from ../include/Makefile.inSRC_HEADERS = R.h S.h Rdefines.h Rdevices.h Rgraphics.h Rinternals.h Rmath.hOBJ_HEADERS = Rconfig.h Rversion.hGW32_HEADERS =packagedist:$(RM) -r $(RPREFIX)sp.zip $(RPREFIX)$(MKDIR) -p $(RPREFIX) $(RPREFIX)/bin $(RPREFIX)/etc \$(RPREFIX)/doc $(RPREFIX)/doc/html $(RPREFIX)/share \$(RPREFIX)/src/include $(RPREFIX)/src/library \$(RPREFIX)/src/gnuwin32/fixed$(CP) ../../doc/html/logo.jpg $(RPREFIX)/doc/html$(CP) ../../doc/KEYWORDS* $(RPREFIX)/doc$(CP) -p exported-vars R.exp Rblas.def MkRules MakePkg MakeDll \Rpwd.exe pwd.pl makeDllRes.pl install-save.sh $(RPREFIX)/src/gnuwin32$(SED) -e s/@RVER@/$(RVER)/g Makefile.packages > $(RPREFIX)/src/gnuwin32/Makefile$(CP) fixed/dobundle.pl $(RPREFIX)/src/gnuwin32/fixed$(CP) -pr help check $(RPREFIX)/src/gnuwin32$(RM) $(RPREFIX)/src/gnuwin32/help/*.c \$(RPREFIX)/src/gnuwin32/help/MkChmDll$(MAKE) --no-print-directory -C $(RPREFIX)/src/gnuwin32/help clean$(CP) -p $(foreach i,$(SRC_HEADERS) $(OBJ_HEADERS) $(GW32_HEADERS), \../include/$i) $(RPREFIX)/src/include$(CP) -pr ../include/R_ext $(RPREFIX)/src/include$(SED) -e 3,5d readme.packages > $(RPREFIX)/readme.packages$(CP) ../../COPYING.LIB $(RPREFIX)$(CP) -r ../../share/make ../../share/perl ../../share/texmf \$(RPREFIX)/share$(CP) ../../bin/INSTALL ../../bin/REMOVE ../../bin/SHLIB \../../bin/build ../../bin/check ../../bin/massage-Examples \../../bin/Rd2dvi.sh ../../bin/Rd2txt ../../bin/Rdconv \../../bin/Rdindex ../../bin/Rdiff.sh \../../bin/Sd2Rd \$(RPREFIX)/bin$(CP) -pr ../../lib $(RPREFIX)$(CP) ../../share/make/wintests.mk $(RPREFIX)/share/make$(CP) -pr ../../share/R $(RPREFIX)/share$(CP) -p graphapp/graphapp.h graphapp/ga.h $(RPREFIX)/src/include$(MAKE) --no-print-directory PKGDIR=. pkgclean-windlgs$(CP) -pr windlgs $(RPREFIX)/src/libraryfind $(RPREFIX) -name CVS -prune -exec rm -rf \{\} \;zip -r9X $(RPREFIX)sp.zip $(RPREFIX)$(RM) -r $(RPREFIX)docsdist: docs$(RM) -r $(RPREFIX)$(RM) -f $(RPREFIX)d1.zip $(RPREFIX)d2.zip$(MKDIR) $(RPREFIX) $(RPREFIX)/doc $(RPREFIX)/doc/manual$(CP) -pr $(RHOME)/doc/manual/*.pdf $(RPREFIX)/doc/manualzip -rm9X $(RPREFIX)d2.zip $(RPREFIX)/doc/manual/refman.pdfzip -rm9X $(RPREFIX)d1.zip $(RPREFIX)/doc/manual \-x $(RPREFIX)/doc/manual/R-FAQ.pdf$(RM) -r $(RPREFIX)install:cp *.zip /pub/bdr/RWin/RpreCRANREC = cran.r-project.org::CRAN/src/contrib/$(RVER)/Recommendedrsync-recommended:@(cd ../library; \rsync -rvCt --delete --exclude=Makefile.in --exclude=.cvsignore \--include=*.tar.gz --exclude=*.tgz $(CRANREC) . ); \$(RM) ../library/Recommended/*.tgz; \(cd ../library/Recommended; for i in ${RECOMMENDED} ; do cp -p $${i}*.tar.gz $${i}.tgz ; done)../library/%/DESCRIPTION: ../library/Recommended/%.tgz@$(ECHO) "---- $*"(cd ../library; rm -rf $*; tar zxf Recommended/$*.tgz; touch $@)unpack-recommended:@$(ECHO) "--- Unpacking recommended packages"@for i in ${RECOMMENDED} ; do $(MAKE) -s --no-print-directory ../library/$$i/DESCRIPTION ; doneclean-recommended:@for i in ${RECOMMENDED} ; do $(RM) -r ../library/$${i} ; donerecommended: unpack-recommended@$(ECHO) "--- Making recommended packages"@$(MAKE) --no-print-directory bundle-VR@for p in $(REC_NONBUNDLES); do \$(MAKE) --no-print-directory pkg-$$p; \donedist-recommended:@for p in $(REC_PKGS); do \(cd ../..; zip -r9X src/gnuwin32/Recommended.zip library/$$p) ; \done## ============= End of maintainer targets ========================# DependenciesCSOURCES=$(filter-out malloc.c blas00.c,$(wildcard *.c))DEPS=$(CSOURCES:.c=.d)makeMakedeps: $(DEPS)@$(RM) Makedeps@cat $(DEPS) >> Makedeps-include Makedeps