Makefile 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. SHELL := /bin/bash
  2. default: html
  3. LFS_EN = /home/xry111/svn-repos/LFS-BOOK
  4. MLANG=zh_CN
  5. ALL_XML_FILES = $(shell find $(LFS_EN) -type f -name '*.xml')
  6. EXCLUDE_FILES = $(LFS_EN)/chapter01/livecd.xml \
  7. $(LFS_EN)/chapter04/creatingtoolsdir.xml \
  8. $(LFS_EN)/chapter04/aboutlfs.xml \
  9. $(LFS_EN)/chapter08/adjusting.xml
  10. XML_FILES = $(filter-out $(EXCLUDE_FILES), $(ALL_XML_FILES))
  11. PO_FILES = $(patsubst $(LFS_EN)/%.xml, $(MLANG)/%.po, $(XML_FILES))
  12. $(MLANG)/chapter01/changelog.po: $(LFS_EN)/chapter01/changelog.xml changelogtranslator.py templatetranslator.py
  13. mkdir -pv "$(@D)"
  14. po4a-updatepo -f docbook -m $< -p $@
  15. ./changelogtranslator.py $(MLANG)
  16. $(MLANG)/%.po: $(LFS_EN)/%.xml
  17. mkdir -pv "$(@D)"
  18. po4a-updatepo -f docbook -m $< -p $@
  19. touch $@
  20. MXML_FILES = $(patsubst $(LFS_EN)/%.xml, %.xml, $(XML_FILES))
  21. BOOK_FILES = $(patsubst $(LFS_EN)/%, %, $(shell find $(LFS_EN) -type f -not -path "$(LFS_EN)/.svn/*" -not -path "$(LFS_EN)/render/*"))
  22. KEEP_FILES = $(filter-out $(MXML_FILES), KEEP_FILES)
  23. MBOOK_FILES = $(patsubst %, $(MLANG)/book/%, $(BOOK_FILES))
  24. .PHONY: html booksrc nochunks pdf pofiles
  25. pofiles: $(PO_FILES)
  26. html: booksrc
  27. rm -rf $(MLANG)/book/render # without this tidy may be stupidly slow
  28. make -C $(MLANG)/book REV=$(REV) BASEDIR=render
  29. nochunks: booksrc
  30. rm -rf $(MLANG)/book/nochunks
  31. make -C $(MLANG)/book REV=$(REV) BASEDIR=nochunks nochunks
  32. pdf: booksrc
  33. rm -rf $(MLANG)/book/pdf
  34. make -C $(MLANG)/book REV=$(REV) BASEDIR=pdf pdf
  35. booksrc: $(MBOOK_FILES) $(PATCHES) $(MLANG)/book/general.ent.orig
  36. [ ! -e $(MLANG)/fix.sh ] || (pushd $(MLANG)/book; sh ../fix.sh; popd)
  37. $(MLANG)/book/%.xml: $(LFS_EN)/%.xml $(MLANG)/%.po
  38. mkdir -pv "$(@D)"
  39. po4a-translate -f docbook -m $< -p $(filter-out $<, $^) -l $@
  40. [ -e $@ ] || cp -v $< $@
  41. $(MLANG)/book/%: $(LFS_EN)/%
  42. mkdir -pv "$(@D)"
  43. cp -v $< $@
  44. $(MLANG)/book/general.ent.orig: $(LFS_EN)/general.ent
  45. mkdir -pv "$(@D)"
  46. cp -v $< $@