vim/runtime/doc/Makefile
RestorerZ 9b7d55ee26
runtime(doc): update Makefile and make it portable between GNU and BSD
by removing the non-portable GNU variable and using $? instead
Note: this only works for rules with single dependencies.

closes: #15493

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-16 21:13:50 +02:00

241 lines
5 KiB
Makefile
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# Makefile for the Vim documentation on Unix
#
# If you get "don't know how to make scratch", first run make in the source
# directory. Or remove the include below.
AWK = awk
VIMPROG = ../../src/vim
# include the config.mk from the source directory. It's only needed to set
# AWK, used for "make html". Comment this out if the include gives problems.
include ../../src/auto/config.mk
# Common components
include Make_all.mak
.SUFFIXES:
.SUFFIXES: .c .o .txt .html
.PHONY: all vimtags noerrors perlhtml clean test_urls
all: tags vim.man evim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
# Use Vim to generate the tags file. Can only be used when Vim has been
# compiled. Supports multiple languages.
vimtags: $(DOCS)
@$(VIMPROG) --clean -esX -V1 -u doctags.vim
# Use "doctags" to generate the tags file. Only works for English!
tags: doctags $(DOCS)
./doctags $(DOCS) | LANG=C LC_ALL=C sort >$@
uniq -d -2 tags
doctags: doctags.c
$(CC) doctags.c -o doctags
vim.man: vim.1
nroff -man $? | sed -e s/.//g > $@
evim.man: evim.1
nroff -man $? | sed -e s/.//g > $@
vimdiff.man: vimdiff.1
nroff -man $? | sed -e s/.//g > $@
vimtutor.man: vimtutor.1
nroff -man $? | sed -e s/.//g > $@
xxd.man: xxd.1
nroff -man $? | sed -e s/.//g > $@
uganda.nsis.txt : uganda.???
for dpn in $?; do \
trg=$@; \
sed -e 's/[ ]*\*.*\*//g' -e 's/vim:tw=[[:digit:]][[:digit:]]:.*//' \
$${dpn} | uniq > $${trg%txt}$${dpn##*.}; \
done
# This files needs to be in dos fileformat for NSIS.
$(VIMPROG) -e -X -u NONE --cmd "set notitle noicon nocp noml viminfo=" \
-c "argdo write ++ff=dos" -c "qa" uganda.nsis.???
# Awk version of .txt to .html conversion.
html: noerrors tags $(HTMLS)
@if test -f errors.log; then more errors.log; fi
noerrors:
-rm -f errors.log
$(HTMLS): tags.ref
.txt.html:
$(AWK) -f makehtml.awk $< >$@
# index.html is the starting point for HTML, but for the help files it is
# help.txt. Therefore use vimindex.html for index.txt.
index.html: help.txt
$(AWK) -f makehtml.awk $? >$@
vimindex.html: index.txt
$(AWK) -f makehtml.awk $? >$@
tags.ref tags.html: tags
$(AWK) -f maketags.awk tags >tags.html
# 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)
# Check URLs in the help with "curl".
test_urls:
$(VIMPROG) --clean -S test_urls.vim
clean:
-rm -f doctags *.html tags.ref
# These files are in the extra archive, skip if not present
arabic.txt:
touch $@
farsi.txt:
touch $@
hebrew.txt:
touch $@
russian.txt:
touch $@
gui_w32.txt:
touch $@
if_ole.txt:
touch $@
os_390.txt:
touch $@
os_amiga.txt:
touch $@
os_beos.txt:
touch $@
os_dos.txt:
touch $@
os_haiku.txt:
touch $@
os_mac.txt:
touch $@
os_mint.txt:
touch $@
os_msdos.txt:
touch $@
os_os2.txt:
touch $@
os_qnx.txt:
touch $@
os_risc.txt:
touch $@
os_win32.txt:
touch $@
# In *BSD, the variable '$<' is used in suffix-transformation rules (in GNU this
# is called "implicit rules", and in MS Windows it is called "inference rules").
# For code portability, it is better to use the '$?' variable for explicit rules.
# Especially since there is only one dependency and it should presumably always
# be newer than the target file.
vim-da.UTF-8.1: vim-da.1
iconv -f latin1 -t UTF-8 $? >$@
vimdiff-da.UTF-8.1: vimdiff-da.1
iconv -f latin1 -t UTF-8 $? >$@
vimtutor-da.UTF-8.1: vimtutor-da.1
iconv -f latin1 -t UTF-8 $? >$@
vim-de.UTF-8.1: vim-de.1
iconv -f latin1 -t UTF-8 $? >$@
vim-fr.UTF-8.1: vim-fr.1
iconv -f latin1 -t UTF-8 $? >$@
evim-fr.UTF-8.1: evim-fr.1
iconv -f latin1 -t UTF-8 $? >$@
vimdiff-fr.UTF-8.1: vimdiff-fr.1
iconv -f latin1 -t UTF-8 $? >$@
vimtutor-fr.UTF-8.1: vimtutor-fr.1
iconv -f latin1 -t UTF-8 $? >$@
xxd-fr.UTF-8.1: xxd-fr.1
iconv -f latin1 -t UTF-8 $? >$@
vim-it.UTF-8.1: vim-it.1
iconv -f latin1 -t UTF-8 $? >$@
evim-it.UTF-8.1: evim-it.1
iconv -f latin1 -t UTF-8 $? >$@
vimdiff-it.UTF-8.1: vimdiff-it.1
iconv -f latin1 -t UTF-8 $? >$@
vimtutor-it.UTF-8.1: vimtutor-it.1
iconv -f latin1 -t UTF-8 $? >$@
xxd-it.UTF-8.1: xxd-it.1
iconv -f latin1 -t UTF-8 $? >$@
vim-pl.UTF-8.1: vim-pl.1
iconv -f latin2 -t UTF-8 $? >$@
evim-pl.UTF-8.1: evim-pl.1
iconv -f latin2 -t UTF-8 $? >$@
vimdiff-pl.UTF-8.1: vimdiff-pl.1
iconv -f latin2 -t UTF-8 $? >$@
vimtutor-pl.UTF-8.1: vimtutor-pl.1
iconv -f latin2 -t UTF-8 $? >$@
xxd-pl.UTF-8.1: xxd-pl.1
iconv -f latin2 -t UTF-8 $? >$@
vim-ru.UTF-8.1: vim-ru.1
iconv -f KOI8-R -t UTF-8 $? >$@
evim-ru.UTF-8.1: evim-ru.1
iconv -f KOI8-R -t UTF-8 $? >$@
vimdiff-ru.UTF-8.1: vimdiff-ru.1
iconv -f KOI8-R -t UTF-8 $? >$@
vimtutor-ru.UTF-8.1: vimtutor-ru.1
iconv -f KOI8-R -t UTF-8 $? >$@
xxd-ru.UTF-8.1: xxd-ru.1
iconv -f KOI8-R -t UTF-8 $? >$@
vim-tr.UTF-8.1: vim-tr.1
iconv -f latin5 -t UTF-8 $? >$@
evim-tr.UTF-8.1: evim-tr.1
iconv -f latin5 -t UTF-8 $? >$@
vimdiff-tr.UTF-8.1: vimdiff-tr.1
iconv -f latin5 -t UTF-8 $? >$@
vimtutor-tr.UTF-8.1: vimtutor-tr.1
iconv -f latin5 -t UTF-8 $? >$@