Makefile: Improve documentation.
[org-mode.git] / mk / server.mk
blob1fb095d4f3eef5b3b41a56975639df0328f8fd05
1 #----------------------------------------------------------------------
2 # This file is used for maintenance of org on the server.
3 #----------------------------------------------------------------------
4 .PHONY: helpserver \
5 release rel-dirty rel-up cleanrel \
6 elpa elpa-dirty elpa-up \
7 doc-up \
8 upload-release upload-elpa upload-doc upload \
9 tagwarn version
11 help helpall helpserver::
12 $(info )
13 $(info Maintenance)
14 $(info ===========)
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)
18 helpserver::
19 @echo ""
21 #----------------------------------------------------------------------
23 ORGCOMM = README request-assign-future.txt lisp/ doc/
24 ORGFULL = $(ORGCOMM) Makefile \
25 mk/default.mk mk/targets.mk mk/version.mk \
26 mk/org-fixup.el \
27 etc/ contrib/
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_%=%)
35 rel-dirty:
36 @$(MAKE) GITVERSION=$(GITVERSION:release_%=%)-dist version autoloads
37 -@$(RM) $(ORGDIR) $(ORGTAR) $(ORGRZIP)
38 ln -s . $(ORGDIR)
39 tar -zcf $(ORGDIR).tar.gz $(foreach dist, $(ORGFULL), $(ORGDIR)/$(dist))
40 zip -r9 $(ORGDIR).zip $(foreach dist, $(ORGFULL), $(ORGDIR)/$(dist))
41 -@$(RM) $(ORGDIR)
42 rel-up: rel-dirty
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"
47 PKG_REQ = "nil"
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)
52 elpa-dirty:
53 @$(MAKE) GITVERSION=$(GITVERSION:release_%=%)-elpa version autoloads
54 -@$(RM) $(ORGDIR) $(ORGTAR) $(ORGZIP)
55 ln -s . $(ORGDIR)
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
60 elpa-up: elpa-dirty
61 $(CP) $(ORGDIR).tar $(SERVROOT)/pkg/daily/
63 tagwarn:
64 $(if $(filter-out $(ORGVERSION), $(GITVERSION)), \
65 $(info ======================================================) \
66 $(info = =) \
67 $(info = A release should only be made from a revision that =) \
68 $(info = has an annotated tag! =) \
69 $(info = =) \
70 $(info ======================================================))
72 version:
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
78 cleanrel:
79 -$(RM) org-$(PKG_TAG)* org-$(DISTVERSION)* org-*.zip org-*.tar* mk/version.mk
81 doc-up:
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