1 .PHONY
: p g html_manual html_guide \
2 testrelease release fixrelease \
3 relup makerelease sync_release sync_manual \
4 distfile pkg push pushtag pushreleasetag
6 # Below here are special targets for maintenance only
14 html_manual html_guide
:
15 $(MAKE
) -C doc
$(@
:html_
%=%)
18 git checkout
-b testrelease
origin/maint
19 git merge
-s recursive
-X theirs master
20 UTILITIES
/set-version.pl testing
21 git commit
-a
-m
"Release testing"
22 make distfile TAG
=testversion
24 rm -rf org-testversion
*
27 git branch
-D testrelease
29 # The following target makes a full release for the stuff that is
30 # currently on master. Do it like this:
32 # make release TAG=7.01
36 git merge
-s recursive
-X theirs master
37 UTILITIES
/set-version.pl
$(TAG
)
38 git commit
-a
-m
"Release $(TAG)"
43 rm -f org-
$(TAG
)*.
tar.gz
44 make pushreleasetag TAG
=$(TAG
)
45 git push
-f
origin maint
47 git merge
-s ours maint
48 UTILITIES
/set-version.pl
-a
$(TAG
)
49 git commit
-a
-m
"Update website to show $(TAG) as current release"
52 # The following target makes a release, but from the stuff that is on
53 # maint, not from the stuff that is on master. The idea is that it pushes
54 # out a minor fix into a minor update, while development on master
55 # already went full steam ahead. To make a micro-relesse, cherry-pick
56 # the necessary changes into maint, then run (with proper version number)
57 # This is just like release, but we skip the step which merges master
60 # make fixrelease TAG=7.01.02
64 git merge
-s recursive
-X theirs master
65 UTILITIES
/set-version.pl
$(TAG
)
66 git commit
-a
-m
"Release $(TAG)"
72 make pushreleasetag TAG
=$(TAG
)
73 git push
-f
origin maint
75 git merge
-s ours maint
76 UTILITIES
/set-version.pl
-o
$(TAG
)
77 git commit
-a
-m
"Update website to show $(TAG) as current release"
80 # ~$ make relup only makes sense from orgmode.org server
81 # Don't call it from your computer!
88 @if
[ "X$(TAG)" = "X" ]; then echo
"*** No tag ***"; exit
1; fi
91 UTILITIES
/gplmanual.pl
96 cp org-
$(TAG
).zip org-
$(TAG
).
tar.gz RELEASEDIR
97 cp doc
/org.pdf doc
/orgcard.pdf doc
/org.texi doc
/org.html RELEASEDIR
98 cp doc
/org_dual_license.texi RELEASEDIR
99 cp doc
/orgguide.pdf doc
/orgcard.txt RELEASEDIR
100 cp RELEASEDIR
/org-
$(TAG
).zip RELEASEDIR
/org.zip
101 cp RELEASEDIR
/org-
$(TAG
).
tar.gz RELEASEDIR
/org.
tar.gz
103 # ~$ make sync_release only makes sense from orgmode.org server
104 # Don't call it from your computer!
106 rsync
-avuz RELEASEDIR
/ /var
/www
/orgmode.org
/
108 # ~$ make sync_manual only makes sense from orgmode.org server
109 # Don't call it from your computer!
111 rsync
-avuz
--delete doc
/manual
/ /var
/www
/orgmode.org
/manual
/
112 rsync
-avuz
--delete doc
/guide
/ /var
/www
/orgmode.org
/guide
/
115 @if
[ "X$(TAG)" = "X" ]; then echo
"*** No tag ***"; exit
1; fi
116 touch doc
/org.texi doc
/orgcard.
tex # force update
120 ${MAKE} lisp
/org-install.el
121 rm -rf org-
$(TAG
) org-
$(TAG
).zip
123 $(MKDIR
) org-
$(TAG
)/doc
124 $(MKDIR
) org-
$(TAG
)/lisp
125 cp
-r
$(LISPFILES
) org-
$(TAG
)/lisp
126 cp
-r
$(DOCFILES
) $(CARDFILES
) org-
$(TAG
)/doc
127 cp
-r
$(DISTFILES_extra
) org-
$(TAG
)/
128 cp
-r README_DIST org-
$(TAG
)/README
129 zip
-r org-
$(TAG
).zip org-
$(TAG
)
130 tar zcvf org-
$(TAG
).
tar.gz org-
$(TAG
)
133 @if
[ "X$(PKG_TAG)" = "X" ]; then echo
"*** No tag ***"; exit
1; fi
134 touch doc
/org.texi doc
/orgcard.
tex # force update
137 rm -rf org-
$(PKG_TAG
) org-
$(PKG_TAG
).
tar
138 $(MKDIR
) org-
$(PKG_TAG
)
139 cp
-r
$(PKG_FILES
) org-
$(PKG_TAG
)
140 echo
"(define-package \"org\" \"$(PKG_TAG)\" \"$(PKG_DOC)\" $(PKG_REQ))" > org-
$(PKG_TAG
)/org-pkg.el
141 tar cf org-
$(PKG_TAG
).
tar org-
$(PKG_TAG
) --remove-files
144 git push orgmode@orgmode.org
:org-mode.git master
147 git tag
-m
"Adding tag" -a
$(TAG
)
148 git push orgmode@orgmode.org
:org-mode.git
$(TAG
)
151 git tag
-m
"Adding release tag" -a release_
$(TAG
)
152 git push orgmode@orgmode.org
:org-mode.git release_
$(TAG
)