# # Makefile for the Vim documentation on Unix vim:ts=4 # vim600:fdm=marker fdl=0 fdc=3: # # # Copyright (c) 2002 Platon Software Development Group http://www.platon.sk/projects/ # # $Id: Makefile,v 1.7 2003/07/16 16:09:21 nepto Exp $ PACKAGE = vimdoc VERSION = 1.3 AWK = awk DVIPS = dvips LATEX = latex MAKEINDEX = makeindex LN = ln -s GV = gv #TAR = gtar TAR = tar ZIP = zip ZIP_ENV = -r9 GZIP_ENV = --best srcdir = . distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) top_builddir = . # Name of Vim PostScript manual VIMMANUAL_PS = latex/vimmanual.ps # Name of LaTeX source of Vim documentation VIMMANUAL_TEX = vimmanual.tex # DOCS = {{{ DOCS = \ txt/autocmd.txt \ txt/change.txt \ txt/cmdline.txt \ txt/debugger.txt \ txt/develop.txt \ txt/diff.txt \ txt/digraph.txt \ txt/editing.txt \ txt/eval.txt \ txt/farsi.txt \ txt/filetype.txt \ txt/fold.txt \ txt/gui.txt \ txt/gui_w16.txt \ txt/gui_w32.txt \ txt/gui_x11.txt \ txt/hangulin.txt \ txt/help.txt \ txt/howto.txt \ txt/if_cscop.txt \ txt/if_ole.txt \ txt/if_perl.txt \ txt/if_pyth.txt \ txt/if_ruby.txt \ txt/if_sniff.txt \ txt/if_tcl.txt \ txt/indent.txt \ txt/index.txt \ txt/insert.txt \ txt/intro.txt \ txt/map.txt \ txt/message.txt \ txt/motion.txt \ txt/mbyte.txt \ txt/mlang.txt \ txt/options.txt \ txt/os_390.txt \ txt/os_amiga.txt \ txt/os_beos.txt \ txt/os_dos.txt \ txt/os_mac.txt \ txt/os_mint.txt \ txt/os_msdos.txt \ txt/os_os2.txt \ txt/os_qnx.txt \ txt/os_risc.txt \ txt/os_unix.txt \ txt/os_vms.txt \ txt/os_win32.txt \ txt/pattern.txt \ txt/pi_expl.txt \ txt/pi_gzip.txt \ txt/pi_netrw.txt \ txt/pi_spec.txt \ txt/quickfix.txt \ txt/quickref.txt \ txt/quotes.txt \ txt/recover.txt \ txt/remote.txt \ txt/repeat.txt \ txt/rileft.txt \ txt/scroll.txt \ txt/sign.txt \ txt/starting.txt \ txt/syntax.txt \ txt/tagsrch.txt \ txt/term.txt \ txt/tips.txt \ txt/todo.txt \ txt/uganda.txt \ txt/undo.txt \ txt/usr_01.txt \ txt/usr_02.txt \ txt/usr_03.txt \ txt/usr_04.txt \ txt/usr_05.txt \ txt/usr_06.txt \ txt/usr_07.txt \ txt/usr_08.txt \ txt/usr_09.txt \ txt/usr_10.txt \ txt/usr_11.txt \ txt/usr_12.txt \ txt/usr_20.txt \ txt/usr_21.txt \ txt/usr_22.txt \ txt/usr_23.txt \ txt/usr_24.txt \ txt/usr_25.txt \ txt/usr_26.txt \ txt/usr_27.txt \ txt/usr_28.txt \ txt/usr_29.txt \ txt/usr_30.txt \ txt/usr_31.txt \ txt/usr_40.txt \ txt/usr_41.txt \ txt/usr_42.txt \ txt/usr_43.txt \ txt/usr_44.txt \ txt/usr_45.txt \ txt/usr_90.txt \ txt/usr_toc.txt \ txt/various.txt \ txt/version4.txt \ txt/version5.txt \ txt/version6.txt \ txt/vi_diff.txt \ txt/visual.txt \ txt/windows.txt \ txt/workshop.txt # }}} DOCS # HTMLS {{{ HTMLS = \ html/autocmd.html \ html/change.html \ html/cmdline.html \ html/debugger.html \ html/develop.html \ html/diff.html \ html/digraph.html \ html/editing.html \ html/eval.html \ html/farsi.html \ html/filetype.html \ html/fold.html \ html/gui.html \ html/gui_w16.html \ html/gui_w32.html \ html/gui_x11.html \ html/hangulin.html \ html/help.html \ html/howto.html \ html/if_cscop.html \ html/if_ole.html \ html/if_perl.html \ html/if_pyth.html \ html/if_ruby.html \ html/if_sniff.html \ html/if_tcl.html \ html/indent.html \ html/index.html \ html/insert.html \ html/intro.html \ html/map.html \ html/message.html \ html/motion.html \ html/mbyte.html \ html/mlang.html \ html/options.html \ html/os_390.html \ html/os_amiga.html \ html/os_beos.html \ html/os_dos.html \ html/os_mac.html \ html/os_mint.html \ html/os_msdos.html \ html/os_os2.html \ html/os_qnx.html \ html/os_risc.html \ html/os_unix.html \ html/os_vms.html \ html/os_win32.html \ html/pattern.html \ html/pi_expl.html \ html/pi_gzip.html \ html/pi_netrw.html \ html/pi_spec.html \ html/quickfix.html \ html/quickref.html \ html/quotes.html \ html/recover.html \ html/remote.html \ html/repeat.html \ html/rileft.html \ html/scroll.html \ html/sign.html \ html/starting.html \ html/syntax.html \ html/tagsrch.html \ html/tags.html \ html/term.html \ html/tips.html \ html/todo.html \ html/uganda.html \ html/undo.html \ html/usr_01.html \ html/usr_02.html \ html/usr_03.html \ html/usr_04.html \ html/usr_05.html \ html/usr_06.html \ html/usr_07.html \ html/usr_08.html \ html/usr_09.html \ html/usr_10.html \ html/usr_11.html \ html/usr_12.html \ html/usr_20.html \ html/usr_21.html \ html/usr_22.html \ html/usr_23.html \ html/usr_24.html \ html/usr_25.html \ html/usr_26.html \ html/usr_27.html \ html/usr_28.html \ html/usr_29.html \ html/usr_30.html \ html/usr_31.html \ html/usr_40.html \ html/usr_41.html \ html/usr_42.html \ html/usr_43.html \ html/usr_44.html \ html/usr_45.html \ html/usr_90.html \ html/usr_toc.html \ html/various.html \ html/version4.html \ html/version5.html \ html/version6.html \ html/vi_diff.html \ html/visual.html \ html/windows.html \ html/workshop.html # }}} HTMLS # LaTeXS {{{ LaTeXS = \ latex/autocmd.tex \ latex/change.tex \ latex/cmdline.tex \ latex/debugger.tex \ latex/develop.tex \ latex/diff.tex \ latex/digraph.tex \ latex/editing.tex \ latex/eval.tex \ latex/farsi.tex \ latex/filetype.tex \ latex/fold.tex \ latex/gui.tex \ latex/gui_w16.tex \ latex/gui_w32.tex \ latex/gui_x11.tex \ latex/hangulin.tex \ latex/help.tex \ latex/howto.tex \ latex/if_cscop.tex \ latex/if_ole.tex \ latex/if_perl.tex \ latex/if_pyth.tex \ latex/if_ruby.tex \ latex/if_sniff.tex \ latex/if_tcl.tex \ latex/indent.tex \ latex/index.tex \ latex/insert.tex \ latex/intro.tex \ latex/map.tex \ latex/message.tex \ latex/motion.tex \ latex/mbyte.tex \ latex/mlang.tex \ latex/options.tex \ latex/os_390.tex \ latex/os_amiga.tex \ latex/os_beos.tex \ latex/os_dos.tex \ latex/os_mac.tex \ latex/os_mint.tex \ latex/os_msdos.tex \ latex/os_os2.tex \ latex/os_qnx.tex \ latex/os_risc.tex \ latex/os_unix.tex \ latex/os_vms.tex \ latex/os_win32.tex \ latex/pattern.tex \ latex/pi_expl.tex \ latex/pi_gzip.tex \ latex/pi_netrw.tex \ latex/pi_spec.tex \ latex/quickfix.tex \ latex/quickref.tex \ latex/quotes.tex \ latex/recover.tex \ latex/remote.tex \ latex/repeat.tex \ latex/rileft.tex \ latex/scroll.tex \ latex/sign.tex \ latex/starting.tex \ latex/syntax.tex \ latex/tagsrch.tex \ latex/term.tex \ latex/tips.tex \ latex/todo.tex \ latex/uganda.tex \ latex/undo.tex \ latex/usr_01.tex \ latex/usr_02.tex \ latex/usr_03.tex \ latex/usr_04.tex \ latex/usr_05.tex \ latex/usr_06.tex \ latex/usr_07.tex \ latex/usr_08.tex \ latex/usr_09.tex \ latex/usr_10.tex \ latex/usr_11.tex \ latex/usr_12.tex \ latex/usr_20.tex \ latex/usr_21.tex \ latex/usr_22.tex \ latex/usr_23.tex \ latex/usr_24.tex \ latex/usr_25.tex \ latex/usr_26.tex \ latex/usr_27.tex \ latex/usr_28.tex \ latex/usr_29.tex \ latex/usr_30.tex \ latex/usr_31.tex \ latex/usr_40.tex \ latex/usr_41.tex \ latex/usr_42.tex \ latex/usr_43.tex \ latex/usr_44.tex \ latex/usr_45.tex \ latex/usr_90.tex \ latex/usr_toc.tex \ latex/various.tex \ latex/version4.tex \ latex/version5.tex \ latex/version6.tex \ latex/vi_diff.tex \ latex/visual.tex \ latex/windows.tex \ latex/workshop.tex # }}} HTMLS # DISTFILES {{{ DISTFILES = Makefile \ doctags.c \ makehtml.awk \ makelatex.awk \ maketags.awk \ vim.sty \ vim2html.pl \ vimmanual.tex \ txt/ \ man/ \ man/evim.1 \ man/help.txt.info \ man/vim.1 \ man/vim.man.info \ man/vimdiff.1 \ man/vimtutor.1 \ man/xxd.1 # }}} DISTFILES .SUFFIXES: .SUFFIXES: .c .o .txt .html all: tags \ html-dir html \ man-dir man/vim.man man/vimdiff.man man/vimtutor.man man/xxd.man \ latex-dir latex html-dir: mkdir -p html man-dir: mkdir -p man latex-dir: mkdir -p latex # We should use Vim to generate the tags file: # vim -c "helptags ." -c quit # tags: doctags $(DOCS) ./doctags $(DOCS) | sort >tags uniq -d -2 tags doctags: doctags.c $(CC) doctags.c -o doctags %.man: %.1 nroff -man $< | sed -e s/.//g > $@ uganda.nsis.txt: uganda.txt sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78://' \ uganda.txt >uganda.nsis.txt # Awk version of .txt to .html conversion. html: noerrors tags tags.ref $(HTMLS) @if test -f errors.log; then more errors.log; fi noerrors: -rm -f errors.log # HTML documentation {{{ html/%.html: txt/%.txt $(AWK) -f makehtml.awk $< >$@ html/tags.html: mv tags.html html/tags.html tags.ref tags.html: tags $(AWK) -f maketags.awk tags >tags.html # }}} HTML documentation # LaTeX documentation {{{ latex: $(VIMMANUAL_PS) $(VIMMANUAL_PS): latex/vimmanual.dvi $(DVIPS) -o $@ $< && \ rm -f vimmanual.ps && \ $(LN) $@ vimmanual.ps latex/vimmanual.dvi: $(LaTeXS) latex/vim.sty latex/$(VIMMANUAL_TEX) latex/vimmanual-index.tex cd latex && \ $(LATEX) $(VIMMANUAL_TEX) && \ $(LATEX) $(VIMMANUAL_TEX) && \ $(LATEX) $(VIMMANUAL_TEX) #less fold.tex latex/vim.sty: vim.sty rm -f $@ cd latex && \ $(LN) ../vim.sty ../$@ latex/$(VIMMANUAL_TEX): $(VIMMANUAL_TEX) rm -f $@ cd latex && \ $(LN) ../$(VIMMANUAL_TEX) ../$@ latex/%.tex: txt/%.txt makelatex.awk $(AWK) -f makelatex.awk $< >$@ # index at end of PostScript documentation {{{ # index is created with latex, but we must remove vimmanual.dvi latex/vimmanual.idx: $(LaTeXS) latex/$(VIMMANUAL_TEX) cd latex && \ rm -f vimmanual-index.tex && touch vimmanual-index.tex && \ $(LATEX) $(VIMMANUAL_TEX) latex/vimmanual.ind: latex/vimmanual.idx cd latex && \ $(MAKEINDEX) vimmanual.idx latex/vimmanual-index.tex: latex/vimmanual.ind cd latex && \ cp -f vimmanual.ind vimmanual-index.tex # }}} index # if $(LaTeXS) are changed (due makelatex.awk), we must # delete vimmanual.aux (references are probably bad!) latex/vimmanual.aux: $(LaTeXS) -rm -f $@ # }}} LaTeX documentation # Perl version of .txt to .html conversion. # There can't be two rules to produce a .html from a .txt file. # Just run over all .txt files each time one changes. It's fast anyway. perlhtml: tags $(DOCS) ./vim2html.pl tags $(DOCS) clean: clean-all clean-all: clean-html clean-man clean-latex clean-dist -rm -f doctags tags.ref tags clean-html: -rm -rf html/ -rm -f *.html clean-man: -rm -rf man/*.man clean-latex: clean-tex-logs -rm -rf latex/ -rm -f vimmanual.ps clean-tex-logs: @for OUT in $(VIMMANUAL_TEX); \ do \ for i in $${OUT%.tex}{.aux,.dvi,.log,.toc,.lof,.lot,.ps} ; \ do \ echo "rm -f $$i"; rm -f $$i; \ done \ done view: $(VIMMANUAL_PS) $(GV) $(VIMMANUAL_PS) & # Distribution {{{ clean-dist: -rm -rf $(distdir) -rm -f $(distdir).tar.gz $(distdir).zip dist: distdir GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) ZIP=$(ZIP_ENV) $(ZIP) $(distdir).zip $(distdir) -rm -rf $(distdir) dist-all: distdir GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) ZIP=$(ZIP_ENV) $(ZIP) $(distdir).zip $(distdir) -rm -rf $(distdir) distdir: $(DISTFILES) -rm -rf $(distdir) mkdir $(distdir) @here=`cd $(top_builddir) && pwd`; \ top_distdir=`cd $(distdir) && pwd`; \ distdir=`cd $(distdir) && pwd`; @FILES=`echo "$(DISTFILES)" | awk 'BEGIN{RS=" "}{print}' | sort -u`; \ for file in $$FILES; do \ d=$(srcdir); \ if test -d $$d/$$file; then \ mkdir $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done # }}} Distribution # # Some of doc files may not be found, create empy: # # TXT targets {{{ txt/autocmd.txt: touch txt/autocmd.txt txt/change.txt: touch txt/change.txt txt/cmdline.txt: touch txt/cmdline.txt txt/debugger.txt: touch txt/debugger.txt txt/develop.txt: touch txt/develop.txt txt/diff.txt: touch txt/diff.txt txt/digraph.txt: touch txt/digraph.txt txt/editing.txt: touch txt/editing.txt txt/eval.txt: touch txt/eval.txt txt/farsi.txt: touch txt/farsi.txt txt/filetype.txt: touch txt/filetype.txt txt/fold.txt: touch txt/fold.txt txt/gui.txt: touch txt/gui.txt txt/gui_w16.txt: touch txt/gui_w16.txt txt/gui_w32.txt: touch txt/gui_w32.txt txt/gui_x11.txt: touch txt/gui_x11.txt txt/hangulin.txt: touch txt/hangulin.txt txt/help.txt: touch txt/help.txt txt/howto.txt: touch txt/howto.txt txt/if_cscop.txt: touch txt/if_cscop.txt txt/if_ole.txt: touch txt/if_ole.txt txt/if_perl.txt: touch txt/if_perl.txt txt/if_pyth.txt: touch txt/if_pyth.txt txt/if_ruby.txt: touch txt/if_ruby.txt txt/if_sniff.txt: touch txt/if_sniff.txt txt/if_tcl.txt: touch txt/if_tcl.txt txt/indent.txt: touch txt/indent.txt txt/index.txt: touch txt/index.txt txt/insert.txt: touch txt/insert.txt txt/intro.txt: touch txt/intro.txt txt/map.txt: touch txt/map.txt txt/message.txt: touch txt/message.txt txt/motion.txt: touch txt/motion.txt txt/mbyte.txt: touch txt/mbyte.txt txt/mlang.txt: touch txt/mlang.txt txt/options.txt: touch txt/options.txt txt/os_390.txt: touch txt/os_390.txt txt/os_amiga.txt: touch txt/os_amiga.txt txt/os_beos.txt: touch txt/os_beos.txt txt/os_dos.txt: touch txt/os_dos.txt txt/os_mac.txt: touch txt/os_mac.txt txt/os_mint.txt: touch txt/os_mint.txt txt/os_msdos.txt: touch txt/os_msdos.txt txt/os_os2.txt: touch txt/os_os2.txt txt/os_qnx.txt: touch txt/os_qnx.txt txt/os_risc.txt: touch txt/os_risc.txt txt/os_unix.txt: touch txt/os_unix.txt txt/os_vms.txt: touch txt/os_vms.txt txt/os_win32.txt: touch txt/os_win32.txt txt/pattern.txt: touch txt/pattern.txt txt/pi_expl.txt: touch txt/pi_expl.txt txt/pi_gzip.txt: touch txt/pi_gzip.txt txt/pi_netrw.txt: touch txt/pi_netrw.txt txt/pi_spec.txt: touch txt/pi_spec.txt txt/quickfix.txt: touch txt/quickfix.txt txt/quickref.txt: touch txt/quickref.txt txt/quotes.txt: touch txt/quotes.txt txt/recover.txt: touch txt/recover.txt txt/remote.txt: touch txt/remote.txt txt/repeat.txt: touch txt/repeat.txt txt/rileft.txt: touch txt/rileft.txt txt/scroll.txt: touch txt/scroll.txt txt/sign.txt: touch txt/sign.txt txt/starting.txt: touch txt/starting.txt txt/syntax.txt: touch txt/syntax.txt txt/tagsrch.txt: touch txt/tagsrch.txt txt/term.txt: touch txt/term.txt txt/tips.txt: touch txt/tips.txt txt/todo.txt: touch txt/todo.txt txt/uganda.txt: touch txt/uganda.txt txt/undo.txt: touch txt/undo.txt txt/usr_01.txt: touch txt/usr_01.txt txt/usr_02.txt: touch txt/usr_02.txt txt/usr_03.txt: touch txt/usr_03.txt txt/usr_04.txt: touch txt/usr_04.txt txt/usr_05.txt: touch txt/usr_05.txt txt/usr_06.txt: touch txt/usr_06.txt txt/usr_07.txt: touch txt/usr_07.txt txt/usr_08.txt: touch txt/usr_08.txt txt/usr_09.txt: touch txt/usr_09.txt txt/usr_10.txt: touch txt/usr_10.txt txt/usr_11.txt: touch txt/usr_11.txt txt/usr_12.txt: touch txt/usr_12.txt txt/usr_20.txt: touch txt/usr_20.txt txt/usr_21.txt: touch txt/usr_21.txt txt/usr_22.txt: touch txt/usr_22.txt txt/usr_23.txt: touch txt/usr_23.txt txt/usr_24.txt: touch txt/usr_24.txt txt/usr_25.txt: touch txt/usr_25.txt txt/usr_26.txt: touch txt/usr_26.txt txt/usr_27.txt: touch txt/usr_27.txt txt/usr_28.txt: touch txt/usr_28.txt txt/usr_29.txt: touch txt/usr_29.txt txt/usr_30.txt: touch txt/usr_30.txt txt/usr_31.txt: touch txt/usr_31.txt txt/usr_40.txt: touch txt/usr_40.txt txt/usr_41.txt: touch txt/usr_41.txt txt/usr_42.txt: touch txt/usr_42.txt txt/usr_43.txt: touch txt/usr_43.txt txt/usr_44.txt: touch txt/usr_44.txt txt/usr_45.txt: touch txt/usr_45.txt txt/usr_90.txt: touch txt/usr_90.txt txt/usr_toc.txt: touch txt/usr_toc.txt txt/various.txt: touch txt/various.txt txt/version4.txt: touch txt/version4.txt txt/version5.txt: touch txt/version5.txt txt/version6.txt: touch txt/version6.txt txt/vi_diff.txt: touch txt/vi_diff.txt txt/visual.txt: touch txt/visual.txt txt/windows.txt: touch txt/windows.txt txt/workshop.txt: touch txt/workshop.txt # }}}