Added my name to the readme (mostly R support).
[ess.git] / Makefile
blob3dee969794898a223e34edf527eeceefe0ecbbac
1 ## $Id: Makefile,v 5.84 2004/07/26 15:58:54 rsparapa Exp $
2 ## Top Level Makefile
4 ## Before making changes here, please take a look at Makeconf
5 include ./Makeconf
7 Subdirs = lisp doc
9 ## This is the default target, i.e. 'make' and 'make all' are the same.
11 all install clean distclean:
12 @for D in $(Subdirs); do cd $$D; $(MAKE) $@; cd ..; done
14 #ESS is now an official XEmacs package, but the xemacs-links target
15 #persists since there is generally a lag between an ESS release and
16 #the corresponding XEmacs ESS package release
17 xemacs-links: doc/info/ess.info doc/info/ess.info-1 doc/info/ess.info-2 doc/info/ess.info-3 doc/info/ess.info-4
18 rm -f $(XEMACSDIR)/xemacs-packages/etc/ess-* $(XEMACSDIR)/xemacs-packages/lisp/ess-* \
19 $(XEMACSDIR)/xemacs-packages/info/ess.info*
20 ln -s $(ESSDIR)/$(ESSVERSIONDIR)/etc $(XEMACSDIR)/xemacs-packages/etc/$(ESSVERSIONDIR)
21 ln -s $(ESSDIR)/$(ESSVERSIONDIR)/lisp $(XEMACSDIR)/xemacs-packages/lisp/$(ESSVERSIONDIR)
22 ln -s $(ESSDIR)/$(ESSVERSIONDIR)/doc/info/ess.info $(XEMACSDIR)/xemacs-packages/info/ess.info
23 ln -s $(ESSDIR)/$(ESSVERSIONDIR)/doc/info/ess.info-1 $(XEMACSDIR)/xemacs-packages/info/ess.info-1
24 ln -s $(ESSDIR)/$(ESSVERSIONDIR)/doc/info/ess.info-2 $(XEMACSDIR)/xemacs-packages/info/ess.info-2
25 ln -s $(ESSDIR)/$(ESSVERSIONDIR)/doc/info/ess.info-3 $(XEMACSDIR)/xemacs-packages/info/ess.info-3
26 ln -s $(ESSDIR)/$(ESSVERSIONDIR)/doc/info/ess.info-4 $(XEMACSDIR)/xemacs-packages/info/ess.info-4
28 ## the rest of the targets are for ESS developer use
29 ## --- PRE-release ---
31 dist: VERSION cleanup-dist
32 cd doc; $(MAKE) docs; cd ..
33 cd lisp; $(MAKE) dist; grep 'ess-version' ess-cust.el; cd ..
34 svn cleanup
35 @echo "** Committing VERSION, README, ANNOUNCE and info **"
36 svn commit -m "Updating toplevel files for new version" \
37 VERSION README ANNOUNCE
38 svn commit -m "Updating info for new version" doc/info
39 @echo "**********************************************************"
40 @echo "** Making distribution of ESS for release $(ESSVERSION),"
41 @echo "** from $(ESSDIR)"
42 @echo "** (must have setup subversion with cached authentication, prior for security)"
43 @echo "**********************************************************"
44 @echo "** Exporting Files **"
45 svn checkout --quiet $(SVN_URL)/trunk $(ESSDIR)-svn
46 mkdir -p $(ESSDIR)
47 tar cvf - --exclude=.svn --no-wildcards $(ESSDIR)-svn | (cd $(ESSDIR); tar xf - )
48 @echo "** Correct Write Permissions and Clean-up docs **"
49 chmod a-w $(ESSDIR)/lisp/*.el
50 chmod a-w $(ESSDIR)/ChangeLog $(ESSDIR)/doc/*
51 chmod u+w $(ESSDIR)/lisp/ess-site.el $(ESSDIR)/Make*
52 chmod u+w $(ESSDIR)/doc/Makefile $(ESSDIR)/lisp/Makefile
53 CLEANUP="jcgs techrep dsc2001-rmh philasug user-* Why_* README.*"; \
54 cd $(ESSDIR)/doc; chmod -R u+w $$CLEANUP; rm -rf $$CLEANUP; cd ../..
55 test -f $(ESSDIR).tar.gz && rm -rf $(ESSDIR).tar.gz || true
56 @echo "** Creating tar file **"
57 tar hcvofz $(ESSDIR).tar.gz $(ESSDIR)
58 test -f $(ESSDIR).zip && rm -rf $(ESSDIR).zip || true
59 @echo "** Creating zip file **"
60 zip -r $(ESSDIR).zip $(ESSDIR)
61 $(MAKE) cleanup-dist
62 touch $@
64 cleanup-dist:
65 @echo "** Cleaning up **"
66 (if [ -d $(ESSDIR) ] ; then \
67 chmod -R u+w $(ESSDIR) && rm -rf $(ESSDIR) $(ESSDIR)-svn; fi)
69 ChangeLog: VERSION
70 # $(EMACSBATCH) $(EMACSLOGCVS)
71 @echo "** Adding log-entry to ChangeLog file"
72 mv ChangeLog ChangeLog.old
73 (echo `date "+%Y-%m-%d "` \
74 " ESS Maintainers <ESS-core@stat.math.ethz.ch>" ; \
75 echo; echo " * Version $(ESSVERSION) released."; echo; \
76 cat ChangeLog.old ) > ChangeLog
77 svn commit -m 'Version .. released' ChangeLog
79 ## --- RELEASE ---
81 rel: ChangeLog dist tag
82 [ x$USER = xmaechler ] || (echo 'must be maechler'; exit 1 )
83 @echo "** Placing tar and zip files **"
84 cp -p $(ESSDIR).tar.gz $(ESSDIR).zip $(UPLOAD_DIR)
85 @echo "** Creating LATEST.IS. file **"
86 rm $(UPLOAD_DIR)/LATEST.IS.*
87 touch $(UPLOAD_DIR)/LATEST.IS.$(ESSDIR)
89 tag:
90 @echo "** Tagging the release **"
91 svn cp -m'release tagging' $(SVN_URL)/trunk $(SVN_URL)/tags/$(ESSVERSIONTAG)