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 and create distribution archives
)
16 $(info elpa
- clean up and create ELPA archive
)
17 $(info upload
- clean up and populate server directories
)
21 #----------------------------------------------------------------------
23 ORGCOMM
= README request-assign-future.txt lisp
/ doc
/
24 ORGFULL
= $(ORGCOMM
) Makefile \
25 mk
/default.mk mk
/targets.mk mk
/version.mk \
28 ORGFULL
:= $(ORGFULL
:%/=%/*)
29 ORGELPA
= $(ORGCOMM
) etc
/styles
/ org-pkg.el
30 ORGELPA
:= $(ORGELPA
:%/=%/*)
32 release
: ORG_MAKE_DOC
=info pdf card
# do not make HTML documentation
33 release
: cleanall doc rel-dirty tagwarn
34 rel-dirty rel-up
: ORGDIR
=org-
$(GITVERSION
:release_
%=%)
36 @
$(MAKE
) GITVERSION
=$(GITVERSION
:release_
%=%)-dist version autoloads
37 -@
$(RM
) $(ORGDIR
) $(ORGTAR
) $(ORGRZIP
)
39 tar -zcf
$(ORGDIR
).
tar.gz
$(foreach dist, $(ORGFULL
), $(ORGDIR
)/$(dist))
40 zip
-r9
$(ORGDIR
).zip
$(foreach dist, $(ORGFULL
), $(ORGDIR
)/$(dist))
43 $(CP
) $(ORGDIR
).
tar.gz
$(ORGDIR
).zip
$(SERVROOT
)/
45 PKG_TAG
= $(shell date
+%Y
%m
%d
)
46 PKG_DOC
= "Outline-based notes management and organizer"
49 elpa
: ORG_MAKE_DOC
=info pdf card
# do not make HTML documentation
50 elpa
: cleanall doc elpa-dirty
51 elpa-dirty elpa-up
: ORGDIR
=org-
$(PKG_TAG
)
53 @
$(MAKE
) GITVERSION
=$(GITVERSION
:release_
%=%)-elpa version autoloads
54 -@
$(RM
) $(ORGDIR
) $(ORGTAR
) $(ORGZIP
)
56 echo
"(define-package \"org\" \"$(PKG_TAG)\" \"$(PKG_DOC)\" $(PKG_REQ))" >org-pkg.el
57 tar --exclude
=Makefile
--transform
='s:\(lisp\|doc\)/::' -cf
$(ORGDIR
).
tar \
58 $(foreach dist, $(ORGELPA
), $(ORGDIR
)/$(dist))
59 -@
$(RM
) $(ORGDIR
) org-pkg.el
61 $(CP
) $(ORGDIR
).
tar $(SERVROOT
)/pkg
/daily
/
64 $(if
$(filter-out $(ORGVERSION
), $(GITVERSION
)), \
65 $(info ======================================================) \
67 $(info = A release should only be made from a revision that
=) \
68 $(info = has an annotated tag
! =) \
70 $(info ======================================================))
73 @echo ORGVERSION
=$(ORGVERSION
) GITVERSION
=$(GITVERSION
)$(ORGDIST
)
74 @echo
"ORGVERSION ?= $(ORGVERSION)" > mk
/version.mk
75 @echo
"GITVERSION ?= $(GITVERSION)" >> mk
/version.mk
77 cleanall
clean: cleanrel
79 -$(RM
) org-
$(PKG_TAG
)* org-
$(DISTVERSION
)* org-
*.zip org-
*.
tar* mk
/version.mk
82 $(MAKE
) -C doc html manual guide
83 $(CP
) doc
/org.html
$(SERVROOT
)
84 $(CP
) doc
/manual
/* $(SERVROOT
)/manual
85 $(CP
) doc
/guide
/* $(SERVROOT
)/guide
87 upload upload-elpa upload-release upload-doc
: ORG_MAKE_DOC
=info pdf card
88 upload
: cleanall doc elpa-up rel-up doc-up
89 upload-elpa
: cleanall doc elpa-up
90 upload-release
: cleanall doc rel-up
91 upload-doc
: cleanall doc doc-up