dotemacs

My Emacs configuration
git clone git://git.entf.net/dotemacs
Log | Files | Refs | LICENSE

Makefile (3541B)


      1 .SUFFIXES:	# we don't need default suffix rules
      2 ifeq ($(MAKELEVEL), 0)
      3   $(error This make needs to be started as a sub-make from the toplevel directory.)
      4 endif
      5 .PHONY:		all info html pdf card manual guide install \
      6 		clean cleanall clean-install
      7 
      8 all:		$(ORG_MAKE_DOC)
      9 
     10 info:		org orgguide
     11 
     12 html:		org.html orgguide.html
     13 
     14 pdf:		org.pdf orgguide.pdf
     15 
     16 card:		orgcard.pdf orgcard_letter.pdf orgguide.pdf
     17 
     18 ifneq ($(SERVERMK),)
     19 manual guide::
     20 	-$(RMR) $@
     21 	$(MKDIR) $@
     22 manual::	org.texi org-version.inc
     23 	$(TEXI2HTML) -o $@ $<
     24 	../mk/mansplit.pl $@/*
     25 guide::		orgguide.texi org-version.inc
     26 	$(TEXI2HTML) -o $@ $<
     27 	../mk/guidesplit.pl $@/*
     28 endif
     29 
     30 # We increase GC threshold when generating documentation.  This
     31 # imrpoves the performance significantly.  See
     32 # https://yhetil.org/emacs-devel/9778F176-E724-4E61-B0FB-327BCDD316C0@acm.org
     33 # Too high number may cause memory overflow (for example, it has
     34 # happened in CI during automated build).  We choose 50Mb threshold,
     35 # based on the above discussion.
     36 org.texi:	org-manual.org
     37 	$(BATCH) 				      \
     38 	  --eval '(add-to-list `load-path "../lisp")' \
     39 	  --eval '(load "../mk/org-fixup.el")' 	      \
     40 	  --eval '(setq gc-cons-threshold (* 50 1000 1000))' \
     41 	  --eval '(org-make-manual)'
     42 
     43 orgguide.texi:	org-guide.org
     44 	$(BATCH) 				      \
     45 	  --eval '(add-to-list `load-path "../lisp")' \
     46 	  --eval '(load "../mk/org-fixup.el")' 	      \
     47 	  --eval '(setq gc-cons-threshold (* 50 1000 1000))' \
     48 	  --eval '(org-make-guide)'
     49 
     50 org-version.inc:	org.texi
     51 	@echo "org-version: $(ORGVERSION) ($(GITVERSION))"
     52 	@echo "@c automatically generated, do not edit"  > org-version.inc
     53 	@echo "@set VERSION $(ORGVERSION) ($(GITVERSION))" >> org-version.inc
     54 	@echo "@set DATE $(DATE)" >> org-version.inc
     55 
     56 org-version.tex:	orgcard.tex
     57 	@printf "org-version: $(ORGVERSION) ($(GITVERSION))\n"
     58 	@printf "%% automatically generated, do not edit\n" > org-version.tex
     59 	@printf "\def\orgversionnumber{$(ORGVERSION)}\n" >> org-version.tex
     60 	@printf "\def\\\\versionyear{$(YEAR)}\n" >> org-version.tex
     61 	@printf "\def\year{$(YEAR)}\n" >> org-version.tex
     62 
     63 install:	org orgguide
     64 	if [ ! -d $(DESTDIR)$(infodir) ]; then $(MKDIR) $(DESTDIR)$(infodir); else true; fi ;
     65 	$(CP) org.info $(DESTDIR)$(infodir)
     66 	$(CP) orgguide.info $(DESTDIR)$(infodir)
     67 	$(INSTALL_INFO) --infodir=$(DESTDIR)$(infodir) org.info
     68 	$(INSTALL_INFO) --infodir=$(DESTDIR)$(infodir) orgguide.info
     69 
     70 clean:
     71 	$(RM) *.pdf *.html *.info *_letter.tex org-version.inc org-version.tex \
     72 	      *.aux *.cp *.cps *.dvi *.fn *.fns *.ky *.kys *.pg *.pgs *.toc \
     73               *.tp *.tps *.vr *.vrs *.log *.ps
     74 cleanall:	clean
     75 	$(RM) org.texi orgguide.texi
     76 	$(RMR) guide manual
     77 
     78 clean-install:
     79 	$(RM) $(DESTDIR)$(infodir)/org*
     80 	$(INSTALL_INFO) --infodir=$(DESTDIR)$(infodir) --remove org
     81 	$(INSTALL_INFO) --infodir=$(DESTDIR)$(infodir) --remove orgguide
     82 
     83 .SUFFIXES:	.texi .tex .txt _letter.tex
     84 
     85 %:		%.texi org-version.inc
     86 	$(MAKEINFO) --no-split $< -o $@.info
     87 
     88 # the following two lines work around a bug in some versions of texi2dvi
     89 %.pdf:		LC_ALL=C
     90 %.pdf:		LANG=C
     91 %.pdf:		%.texi org-version.inc
     92 	$(TEXI2PDF) $<
     93 %.pdf:		%.tex org-version.tex
     94 	PDFLATEX=$(PDFTEX) $(TEXI2PDF) $<
     95 
     96 %.html:		%.texi org-version.inc
     97 	$(TEXI2HTML) --no-split -o $@ $<
     98 ifneq ($(SERVERMK),)
     99 	../mk/manfull.pl $@
    100 
    101 %.txt:		%.tex
    102 	perl ../mk/orgcard2txt.pl $< > $@
    103 endif
    104 
    105 %_letter.tex:	%.tex
    106 	$(BATCH) 				      \
    107 	  --eval '(add-to-list `load-path "../lisp")' \
    108 	  --eval '(load "org-compat.el")' 	      \
    109 	  --eval '(load "../mk/org-fixup.el")' 	      \
    110 	  --eval '(org-make-letterformat "$(<F)" "$(@F)")'