1 #----------------------------------------------------------------------
2 # This file is used for maintenance of org on the server.
3 #----------------------------------------------------------------------
5 release rel-dirty rel-up cleanrel \
6 elpa elpa-dirty elpa-up \
8 upload-release upload-elpa upload-doc upload \
11 help helpall helpserver
::
15 $(info release
- clean up
, create the distribution archives
)
16 $(info elpa
- clean up
, create the ELPA archive
)
17 $(info upload-release
- clean up
, populate the server with arhives
)
18 $(info upload-elpa
- clean up
, populate the server with ELPA
)
19 $(info upload-doc
- clean up
, populate the server with docs
)
20 $(info upload
- clean up
, populate the server with everything
)
25 #----------------------------------------------------------------------
27 SERVROOT ?
= /var
/www
/orgmode.org
28 SERVERMK ?
= true
# or just any value at all, really
30 #----------------------------------------------------------------------
32 ORGCOMM
= README lisp
/
33 ORGFULL
= $(ORGCOMM
) Makefile request-assign-future.txt \
34 mk
/default.mk mk
/targets.mk mk
/version.mk \
37 ORGFULL
:= $(ORGFULL
:%/=%/*)
38 ORGELPA
= $(ORGCOMM
) doc
/dir doc
/org doc
/orgcard.pdf \
39 etc
/styles
/ org-pkg.el
40 ORGELPA
:= $(ORGELPA
:%/=%/*)
41 ORGELPAPLUS
:= $(ORGELPA
:org-pkg
%=orgplus-pkg
%)
43 release
: cleanall
info pdf card rel-dirty tagwarn
44 rel-dirty rel-up
: ORGDIR
=org-
$(GITVERSION
:release_
%=%)
46 @
$(MAKE
) GITVERSION
=$(GITVERSION
:release_
%=%)-dist version autoloads
47 -@
$(RM
) $(ORGDIR
) $(ORGTAR
) $(ORGRZIP
)
49 tar -zcf
$(ORGDIR
).
tar.gz
$(foreach dist, $(ORGFULL
), $(ORGDIR
)/$(dist))
50 zip
-r9
$(ORGDIR
).zip
$(foreach dist, $(ORGFULL
), $(ORGDIR
)/$(dist))
52 rel-up
: info pdf card rel-dirty
53 $(CP
) $(ORGDIR
).
tar.gz
$(ORGDIR
).zip
$(SERVROOT
)/
55 PKG_TAG
= $(shell date
+%Y
%m
%d
)
56 PKG_DOC
= "Outline-based notes management and organizer"
57 PKG_REQ
= "" # marmalade chokes on explicit "nil"
59 elpa
: cleanall
info card elpa-dirty
60 elpa-dirty elpa-up
: ORGDIR
=org-
$(PKG_TAG
)
62 @
$(MAKE
) GITVERSION
=$(GITVERSION
:release_
%=%)-elpa version autoloads
63 -@
$(RM
) $(ORGDIR
) $(ORGTAR
) $(ORGZIP
)
65 echo
"(define-package \"org\" \"$(PKG_TAG)\" \"$(PKG_DOC)\" $(PKG_REQ))" \
67 tar --exclude
=Makefile
--transform
='s:\(lisp\|doc\)/::' -cf
$(ORGDIR
).
tar \
68 $(foreach dist, $(ORGELPA
), $(ORGDIR
)/$(dist))
69 -@
$(RM
) $(ORGDIR
) org-pkg.el
70 elpa-up
: info card elpa-dirty
71 $(CP
) $(ORGDIR
).
tar $(SERVROOT
)/pkg
/daily
/
74 elpaplus
: cleanall
info card elpaplus-dirty
75 elpaplus-dirty elpaplus-up
: ORG_ADD_CONTRIB
=org-
*
76 elpaplus-dirty elpaplus-up
: ORGDIR
=orgplus-
$(PKG_TAG
)
78 @
$(MAKE
) GITVERSION
=$(GITVERSION
:release_
%=%)-elpaplus version autoloads
79 -@
$(RM
) $(ORGDIR
) $(ORGTAR
) $(ORGZIP
)
81 echo
"(define-package \"orgplus\" \"$(PKG_TAG)\" \"$(PKG_DOC)\" $(PKG_REQ))" \
83 tar --exclude
=Makefile
--transform
='s:\(lisp\|doc\)/::' -cf
$(ORGDIR
).
tar \
84 $(foreach dist, $(ORGELPAPLUS
), $(ORGDIR
)/$(dist))
85 -@
$(RM
) $(ORGDIR
) orgplus-pkg.el
87 elpaplus-up
: info card elpaplus-dirty
88 $(CP
) $(ORGDIR
).
tar $(SERVROOT
)/pkg
/daily
/
91 $(if
$(filter-out $(ORGVERSION
), $(GITVERSION
)), \
92 $(info ======================================================) \
94 $(info = A release should only be made from a revision that
=) \
95 $(info = has an annotated tag
! =) \
97 $(info ======================================================))
100 @echo ORGVERSION
=$(ORGVERSION
) GITVERSION
=$(GITVERSION
)$(ORGDIST
)
101 @echo
"ORGVERSION ?= $(ORGVERSION)" > mk
/version.mk
102 @echo
"GITVERSION ?= $(GITVERSION)" >> mk
/version.mk
104 cleanall
clean: cleanrel
106 -$(RM
) org-
$(PKG_TAG
)* org-
$(DISTVERSION
)* org-
*.zip org-
*.
tar* mk
/version.mk
108 doc-up
: info pdf card html
109 $(MAKE
) -C doc manual guide
110 $(CP
) doc
/org.html
$(SERVROOT
)
111 $(CP
) doc
/manual
/* $(SERVROOT
)/manual
112 $(CP
) doc
/guide
/* $(SERVROOT
)/guide
114 upload
: cleanall elpa-up rel-up doc-up elpaplus-up
115 upload-elpa
: cleanall elpa-up
116 upload-elpaplus
: cleanall elpaplus-up
117 upload-release
: cleanall rel-up
118 upload-doc
: cleanall doc-up