1 ## $Id: Makefile,v 5.81 2004/06/28 21:17:14 rsparapa Exp $
4 ## Before making changes here, please take a look at Makeconf
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 @echo
"** Committing VERSION, README, ANNOUNCE and info **"
35 cvs commit
-m
"Updating toplevel files for new version" \
36 VERSION README ANNOUNCE
37 cvs commit
-m
"Updating info for new version" doc
/info
38 @echo
"**********************************************************"
39 @echo
"** Making distribution of ESS for release $(ESSVERSION),"
40 @echo
"** from $(ESSDIR)"
41 @echo
"** (must set CVSROOT, etc, prior to checkout for security)"
42 @echo
"**********************************************************"
43 @echo
"** Exporting Files **"
44 -cvs
export -D today ess
45 @echo
"** Correct Write Permissions and Clean-up docs **"
47 chmod a-w
$(ESSDIR
)/lisp
/*.el
48 chmod a-w
$(ESSDIR
)/ChangeLog
$(ESSDIR
)/doc
/*
49 chmod u
+w
$(ESSDIR
)/lisp
/ess-site.el
$(ESSDIR
)/Make
*
50 chmod u
+w
$(ESSDIR
)/doc
/Makefile
$(ESSDIR
)/lisp
/Makefile
51 CLEANUP
="jcgs techrep dsc2001-rmh philasug user-* Why_* README.*"; \
52 cd
$(ESSDIR
)/doc
; chmod
-R u
+w
$$CLEANUP; rm -rf
$$CLEANUP; cd ..
/..
53 test -f
$(ESSDIR
).
tar.gz
&& rm -rf
$(ESSDIR
).
tar.gz || true
54 @echo
"** Creating tar file **"
55 tar hcvof
$(ESSDIR
).
tar $(ESSDIR
)
57 test -f
$(ESSDIR
).zip
&& rm -rf
$(ESSDIR
).zip || true
58 @echo
"** Creating zip file **"
59 zip
-r
$(ESSDIR
).zip
$(ESSDIR
)
64 @echo
"** Cleaning up **"
65 (if
[ -d
$(ESSDIR
) ] ; then \
66 chmod
-R u
+w
$(ESSDIR
) && rm -rf
$(ESSDIR
) ; fi
)
69 $(EMACSBATCH
) $(EMACSLOGCVS
)
70 @echo
"** Adding log-entry to ChangeLog file"
71 mv ChangeLog ChangeLog.old
72 (echo
`date "+%Y-%m-%d "` \
73 " ESS Maintainers <ESS-core@stat.math.ethz.ch>" ; \
74 echo
; echo
" * Version $(ESSVERSION) released."; echo
; \
75 cat ChangeLog.old
) > ChangeLog
76 cvs commit
-m
'Version .. released' ChangeLog
80 # Note: we do not want to tag every minor release
81 # ==> "tag" manually after `important' releases
83 @echo
"** Placing tar and zip files **"
84 scp
-p
$(ESSDIR
).
tar.gz
$(ESSDIR
).zip
$(UPLOAD_SITE
):$(UPLOAD_DIR
)
85 @echo
"** Creating LATEST.IS. file **"
86 -ssh
$(UPLOAD_SITE
) rm "$(UPLOAD_DIR)/LATEST.IS.*"
87 ssh
$(UPLOAD_SITE
) touch
$(UPLOAD_DIR
)/LATEST.IS.
$(ESSDIR
)
90 @echo
"** Tagging the release **"
91 cvs tag
-R
$(ESSVERSIONTAG
)