org-mode/doc/Makefile
Achim Gratz 0db8233460 replace the remaining occurences of sed with emacs scripts, implement mkdir with install
* UTILITIES/org-fixup.el (org-make-local-mk): New function to create a
  local.mk template from default.mk.

* UTILITIES/org-fixup.el (org-make-letterformat): New function to
  replace the format string for A4 with one for Letter.

* default.mk: Few cosmetic changes to the template section.  Add
  definition MAKE_LOCAL_MK for call to org-make-local-mk.  Remove
  definition for SED, which is not used anymore.  Implement MKDIR with
  'install -d' by default.  Since both CP and MKDIR are now
  implemented with install, this reduces the number of external
  dependencies.  Add mode settings to both invocations of install to
  keep the modes of installed files sane even if umask is set to a
  strange value.

* targets.mk: Remove sed script and use $(MAKE_LOCAL_MK) instead.

* doc/Makefile: Remove sed script and replace with emacs script.  This
  script can not be placed into a variable since it would expand $<
  and $@ in the context of the "card" target rather than the pattern
  rule.
2012-05-30 12:30:21 +02:00

75 lines
2 KiB
Makefile

.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
html: org.html
pdf: org.pdf orgguide.pdf
card: orgcard.pdf orgcard_letter.pdf orgguide.pdf
manual guide::
-$(RMR) $@
$(MKDIR) $@
manual:: org.texi org-version.inc
$(TEXI2HTML) -o $@ $<
../UTILITIES/mansplit.pl $@/*
guide:: orgguide.texi org-version.inc
$(TEXI2HTML) -o $@ $<
../UTILITIES/guidesplit.pl $@/*
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
install: org
if [ ! -d $(DESTDIR)$(infodir) ]; then $(MKDIR) $(DESTDIR)$(infodir); else true; fi ;
$(CP) org $(DESTDIR)$(infodir)
$(INSTALL_INFO) --infodir=$(DESTDIR)$(infodir) org
clean:
$(RM) org *.pdf *.html *_letter.tex org-version.inc \
*.aux *.cp *.cps *.dvi *.fn *.fns *.ky *.kys *.pg *.pgs \
*.toc *.tp *.tps *.vr *.vrs *.log *.html *.ps
cleanall: clean
$(RMR) guide manual
clean-install:
$(RM) $(DESTDIR)$(infodir)/org*
$(INSTALL_INFO) --infodir=$(DESTDIR)$(infodir) --remove org
.SUFFIXES: .texi .tex .txt _letter.tex
%: %.texi org-version.inc
$(MAKEINFO) --no-split $< -o $@
%.pdf: LC_ALL=C # work around a bug in texi2dvi
%.pdf: LANG=C # work around a bug in texi2dvi
%.pdf: %.texi org-version.inc
$(TEXI2PDF) $<
%.pdf: %.tex
PDFLATEX=$(PDFTEX) $(TEXI2PDF) $<
%.html: %.texi org-version.inc
$(TEXI2HTML) --no-split -o $@ $<
../UTILITIES/manfull.pl $@
%.txt: %.tex
perl ../UTILITIES/orgcard2txt.pl $< > $@
%_letter.tex: %.tex
$(BATCH) \
--eval '(add-to-list '"'"'load-path "../lisp")' \
--eval '(load "org-compat.el")' \
--eval '(load "../UTILITIES/org-fixup.el")' \
--eval '(org-make-letterformat "$(<F)" "$(@F)")'