]> git.donarmstrong.com Git - lilypond.git/blob - stepmake/stepmake/texinfo-targets.make
875a5e929cbfc83bf80d902aacf839bb46330fe9
[lilypond.git] / stepmake / stepmake / texinfo-targets.make
1 .PHONY : texinfo-all-menus-update
2
3 default: $(INFO_FILES)
4
5 local-WWW: $(addprefix $(outdir)/,$(TEXI_FILES:.texi=.html))
6
7 local-doc: $(OUTTXT_FILES)
8
9 check-info: texinfo-all-menus-update
10
11 ## info stuff
12 local-install: install-info
13 local-uninstall: uninstall-info
14 local-install-info:
15 local-uninstall-info:
16 install-info: local-install-info
17 uninstall-info: local-uninstall-info
18
19 install-info: $(INFO_FILES)
20         $(INFO_INSTALL_COMMAND) local-install
21
22 uninstall-info:
23         $(INFO_INSTALL_COMMAND) local-uninstall
24
25
26 TEXINFO_ALL_MENUS_UPDATE_EL ='\
27   (let ((error nil)\
28         (version-control nil))\
29       (load-library "texinfo")\
30       (texinfo-mode)\
31       (texinfo-all-menus-update)\
32       (if (buffer-modified-p (current-buffer))\
33         (save-buffer))))\
34 '
35
36 # buffer-modified-p is ALWAYS true, even if there were no actual
37 # changes, so we try setting origal (timestamp) back if there
38 # were no changes.
39 #
40 # ugh: emacs20.7 batch mode is not really batch:
41 #
42 # answer `echo q' to the question:
43 # FILE locked by EMAIL (pid PID): (s, q, p, ?)?
44 #
45 texinfo-all-menus-update:
46         -$(foreach i, $(TEXINFO_SOURCES), echo q | emacs --batch --no-site-file $(i) --eval $(TEXINFO_ALL_MENUS_UPDATE_EL); )
47         $(foreach i, $(sort $(TEXINFO_SOURCES)), if diff -u $(i)~ $(i); then mv $(i)~ $(i);  fi && ) true
48
49