123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- .SUFFIXES: # we don't need default suffix rules
- ifeq ($(MAKELEVEL), 0)
- $(error This make needs to be started as a sub-make from the toplevel directory.)
- endif
- .PHONY: all info html pdf card manual guide install \
- clean cleanall clean-install
- all: $(ORG_MAKE_DOC)
- info: org orgguide
- html: org.html orgguide.html
- pdf: org.pdf orgguide.pdf
- card: orgcard.pdf orgcard_letter.pdf orgguide.pdf
- ifneq ($(SERVERMK),)
- manual guide::
- -$(RMR) $@
- $(MKDIR) $@
- manual:: org.texi org-version.inc
- $(TEXI2HTML) -o $@ $<
- ../mk/mansplit.pl $@/*
- guide:: orgguide.texi org-version.inc
- $(TEXI2HTML) -o $@ $<
- ../mk/guidesplit.pl $@/*
- endif
- # We increase GC threshold when generating documentation. This
- # imrpoves the performance significantly. See
- # https://yhetil.org/emacs-devel/9778F176-E724-4E61-B0FB-327BCDD316C0@acm.org
- # Too high number may cause memory overflow (for example, it has
- # happened in CI during automated build). We choose 50Mb threshold,
- # based on the above discussion.
- org.texi: org-manual.org
- $(BATCH) \
- --eval '(add-to-list `load-path "../lisp")' \
- --eval '(load "../mk/org-fixup.el")' \
- --eval '(setq gc-cons-threshold (* 50 1000 1000))' \
- --eval '(org-make-manual)'
- orgguide.texi: org-guide.org
- $(BATCH) \
- --eval '(add-to-list `load-path "../lisp")' \
- --eval '(load "../mk/org-fixup.el")' \
- --eval '(setq gc-cons-threshold (* 50 1000 1000))' \
- --eval '(org-make-guide)'
- org-version.inc: org.texi
- @echo "org-version: $(ORGVERSION) ($(GITVERSION))"
- @echo "@c automatically generated, do not edit" > org-version.inc
- @echo "@set VERSION $(ORGVERSION) ($(GITVERSION))" >> org-version.inc
- @echo "@set DATE $(DATE)" >> org-version.inc
- org-version.tex: orgcard.tex
- @printf "org-version: $(ORGVERSION) ($(GITVERSION))\n"
- @printf "%% automatically generated, do not edit\n" > org-version.tex
- @printf "\def\orgversionnumber{$(ORGVERSION)}\n" >> org-version.tex
- @printf "\def\\\\versionyear{$(YEAR)}\n" >> org-version.tex
- @printf "\def\year{$(YEAR)}\n" >> org-version.tex
- install: org orgguide
- if [ ! -d $(DESTDIR)$(infodir) ]; then $(MKDIR) $(DESTDIR)$(infodir); else true; fi ;
- $(CP) org.info $(DESTDIR)$(infodir)
- $(CP) orgguide.info $(DESTDIR)$(infodir)
- $(INSTALL_INFO) --infodir=$(DESTDIR)$(infodir) org.info
- $(INSTALL_INFO) --infodir=$(DESTDIR)$(infodir) orgguide.info
- clean:
- $(RM) *.pdf *.html *.info *_letter.tex org-version.inc org-version.tex \
- *.aux *.cp *.cps *.dvi *.fn *.fns *.ky *.kys *.pg *.pgs *.toc \
- *.tp *.tps *.vr *.vrs *.log *.ps
- cleanall: clean
- $(RM) org.texi orgguide.texi
- $(RMR) guide manual
- clean-install:
- $(RM) $(DESTDIR)$(infodir)/org*
- $(INSTALL_INFO) --infodir=$(DESTDIR)$(infodir) --remove org
- $(INSTALL_INFO) --infodir=$(DESTDIR)$(infodir) --remove orgguide
- .SUFFIXES: .texi .tex .txt _letter.tex
- %: %.texi org-version.inc
- $(MAKEINFO) --no-split $< -o $@.info
- # the following two lines work around a bug in some versions of texi2dvi
- %.pdf: LC_ALL=C
- %.pdf: LANG=C
- %.pdf: %.texi org-version.inc
- $(TEXI2PDF) $<
- %.pdf: %.tex org-version.tex
- PDFLATEX=$(PDFTEX) $(TEXI2PDF) $<
- %.html: %.texi org-version.inc
- $(TEXI2HTML) --no-split -o $@ $<
- ifneq ($(SERVERMK),)
- ../mk/manfull.pl $@
- %.txt: %.tex
- perl ../mk/orgcard2txt.pl $< > $@
- endif
- %_letter.tex: %.tex
- $(BATCH) \
- --eval '(add-to-list `load-path "../lisp")' \
- --eval '(load "org-compat.el")' \
- --eval '(load "../mk/org-fixup.el")' \
- --eval '(org-make-letterformat "$(<F)" "$(@F)")'
|