|
1 | 1 | .PHONY: all html clean |
2 | 2 |
|
3 | | -JEKYLL_WORKDIR=target/jekyll-work |
4 | | -JEKYLL_OUTDIR=target/_site |
| 3 | +VIM_ALL_TEXT = $(wildcard vim/runtime/doc/*.txt) |
| 4 | +SRC_TEXT = $(VIM_ALL_TEXT:vim/runtime/doc/%=target/html/doc/%) \ |
| 5 | + target/html/doc/tags.txt \ |
| 6 | + target/html/doc/vim_faq.txt |
| 7 | +DST_HTML = $(SRC_TEXT:%.txt=%.html) |
5 | 8 |
|
6 | | -html-prepare: vim/runtime/doc vim_faq/doc target/html/doc |
7 | | - rm -f target/html/doc/*.txt |
8 | | - cp vim/runtime/doc/*.txt target/html/doc |
9 | | - cp vim_faq/doc/*.txt target/html/doc |
| 9 | +html: vim vim_faq |
| 10 | + $(MAKE) html-generate |
10 | 11 |
|
11 | | -html: html-prepare |
12 | | - -cd target/html/doc ; vim -eu ../../../tools/buildhtml.vim -c "qall!" |
| 12 | +html-generate: $(DST_HTML) |
13 | 13 |
|
14 | | -vim/runtime/doc: |
| 14 | +vim: |
15 | 15 | git clone --depth=1 https://github.com/vim/vim.git |
16 | 16 | cd vim && git apply ../tools/add-vimfaq-link.diff |
17 | 17 |
|
18 | | -vim_faq/doc: |
| 18 | +vim/runtime/doc/%.txt: vim |
| 19 | + |
| 20 | +vim_faq: |
19 | 21 | git clone --depth=1 https://github.com/chrisbra/vim_faq.git |
20 | 22 |
|
| 23 | +vim_faq/doc/vim_faq.txt: vim_faq |
| 24 | + |
21 | 25 | target/html/doc: |
22 | 26 | mkdir -p $@ |
23 | 27 |
|
| 28 | +target/html/doc/tags target/html/doc/tags.txt: $(SRC_TEXT) |
| 29 | + -cd target/html/doc && vim -esu ../../../tools/build_tag.vim -c "qall!" |
| 30 | + |
| 31 | +target/html/doc/%.txt: vim/runtime/doc/%.txt target/html/doc |
| 32 | + cp $< $@ |
| 33 | + |
| 34 | +target/html/doc/vim_faq.txt: vim_faq/doc/vim_faq.txt target/html/doc |
| 35 | + cp $< $@ |
| 36 | + |
| 37 | +# referenced by $(DST_HTML) |
| 38 | +target/html/doc/%.html: target/html/doc/%.txt target/html/doc/tags |
| 39 | + -cd target/html/doc && vim -esu ../../../tools/build_html.vim -c "call VimdocEnConvert() | wqall!" $(<F) |
| 40 | + |
24 | 41 | clean: |
25 | 42 | rm -rf target |
26 | 43 |
|
27 | 44 | distclean: |
28 | 45 | rm -rf vim vim_faq |
29 | 46 |
|
| 47 | +JEKYLL_WORKDIR=target/jekyll-work |
| 48 | +JEKYLL_OUTDIR=target/_site |
| 49 | + |
30 | 50 | jekyll-build-prepare: |
31 | 51 | mkdir -p $(JEKYLL_WORKDIR) |
32 | 52 | cp target/html/doc/*.html $(JEKYLL_WORKDIR) |
|
0 commit comments