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
: doc
/org.texi
17 $(TEXI2HTML
) -o doc
/manual doc
/org.texi
18 UTILITIES
/mansplit.pl doc
/manual
/*.html
20 html_guide
: doc
/orgguide.texi
23 $(TEXI2HTML
) -o doc
/guide doc
/orgguide.texi
24 UTILITIES
/guidesplit.pl doc
/guide
/*.html
27 git checkout
-b testrelease
origin/maint
28 git merge
-s recursive
-X theirs master
29 UTILITIES
/set-version.pl testing
30 git commit
-a
-m
"Release testing"
31 make distfile TAG
=testversion
33 rm -rf org-testversion
*
36 git branch
-D testrelease
38 # The following target makes a full release for the stuff that is
39 # currently on master. Do it like this:
41 # make release TAG=7.01
45 git merge
-s recursive
-X theirs master
46 UTILITIES
/set-version.pl
$(TAG
)
47 git commit
-a
-m
"Release $(TAG)"
52 rm -f org-
$(TAG
)*.
tar.gz
53 make pushreleasetag TAG
=$(TAG
)
54 git push
-f
origin maint
56 git merge
-s ours maint
57 UTILITIES
/set-version.pl
-a
$(TAG
)
58 git commit
-a
-m
"Update website to show $(TAG) as current release"
61 # The following target makes a release, but from the stuff that is on
62 # maint, not from the stuff that is on master. The idea is that it pushes
63 # out a minor fix into a minor update, while development on master
64 # already went full steam ahead. To make a micro-relesse, cherry-pick
65 # the necessary changes into maint, then run (with proper version number)
66 # This is just like release, but we skip the step which merges master
69 # make fixrelease TAG=7.01.02
73 git merge
-s recursive
-X theirs master
74 UTILITIES
/set-version.pl
$(TAG
)
75 git commit
-a
-m
"Release $(TAG)"
81 make pushreleasetag TAG
=$(TAG
)
82 git push
-f
origin maint
84 git merge
-s ours maint
85 UTILITIES
/set-version.pl
-o
$(TAG
)
86 git commit
-a
-m
"Update website to show $(TAG) as current release"
89 # ~$ make relup only makes sense from orgmode.org server
90 # Don't call it from your computer!
97 @if
[ "X$(TAG)" = "X" ]; then echo
"*** No tag ***"; exit
1; fi
100 UTILITIES
/gplmanual.pl
105 cp org-
$(TAG
).zip org-
$(TAG
).
tar.gz RELEASEDIR
106 cp doc
/org.pdf doc
/orgcard.pdf doc
/org.texi doc
/org.html RELEASEDIR
107 cp doc
/org_dual_license.texi RELEASEDIR
108 cp doc
/orgguide.pdf doc
/orgcard.txt RELEASEDIR
109 cp RELEASEDIR
/org-
$(TAG
).zip RELEASEDIR
/org.zip
110 cp RELEASEDIR
/org-
$(TAG
).
tar.gz RELEASEDIR
/org.
tar.gz
112 # ~$ make sync_release only makes sense from orgmode.org server
113 # Don't call it from your computer!
115 rsync
-avuz RELEASEDIR
/ /var
/www
/orgmode.org
/
117 # ~$ make sync_manual only makes sense from orgmode.org server
118 # Don't call it from your computer!
120 rsync
-avuz
--delete doc
/manual
/ /var
/www
/orgmode.org
/manual
/
121 rsync
-avuz
--delete doc
/guide
/ /var
/www
/orgmode.org
/guide
/
124 @if
[ "X$(TAG)" = "X" ]; then echo
"*** No tag ***"; exit
1; fi
125 touch doc
/org.texi doc
/orgcard.
tex # force update
129 ${MAKE} lisp
/org-install.el
130 rm -rf org-
$(TAG
) org-
$(TAG
).zip
132 $(MKDIR
) org-
$(TAG
)/doc
133 $(MKDIR
) org-
$(TAG
)/lisp
134 cp
-r
$(LISPFILES
) org-
$(TAG
)/lisp
135 cp
-r
$(DOCFILES
) $(CARDFILES
) org-
$(TAG
)/doc
136 cp
-r
$(DISTFILES_extra
) org-
$(TAG
)/
137 cp
-r README_DIST org-
$(TAG
)/README
138 zip
-r org-
$(TAG
).zip org-
$(TAG
)
139 tar zcvf org-
$(TAG
).
tar.gz org-
$(TAG
)
142 @if
[ "X$(PKG_TAG)" = "X" ]; then echo
"*** No tag ***"; exit
1; fi
143 touch doc
/org.texi doc
/orgcard.
tex # force update
146 rm -rf org-
$(PKG_TAG
) org-
$(PKG_TAG
).
tar
147 $(MKDIR
) org-
$(PKG_TAG
)
148 cp
-r
$(PKG_FILES
) org-
$(PKG_TAG
)
149 echo
"(define-package \"org\" \"$(PKG_TAG)\" \"$(PKG_DOC)\" $(PKG_REQ))" > org-
$(PKG_TAG
)/org-pkg.el
150 tar cf org-
$(PKG_TAG
).
tar org-
$(PKG_TAG
) --remove-files
153 git push orgmode@orgmode.org
:org-mode.git master
156 git tag
-m
"Adding tag" -a
$(TAG
)
157 git push orgmode@orgmode.org
:org-mode.git
$(TAG
)
160 git tag
-m
"Adding release tag" -a release_
$(TAG
)
161 git push orgmode@orgmode.org
:org-mode.git release_
$(TAG
)