Makefile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. LFS_EN = /home/xry111/svn-repos/LFS-BOOK
  2. MLANG=zh_CN
  3. ALL_XML_FILES = $(shell find $(LFS_EN) -type f -name '*.xml')
  4. EXCLUDE_FILES = $(LFS_EN)/chapter01/livecd.xml \
  5. $(LFS_EN)/chapter04/creatingtoolsdir.xml \
  6. $(LFS_EN)/chapter04/aboutlfs.xml
  7. XML_FILES = $(filter-out $(EXCLUDE_FILES), $(ALL_XML_FILES))
  8. PO_FILES = $(patsubst $(LFS_EN)/%.xml, $(MLANG)/%.po, $(XML_FILES))
  9. run: $(PO_FILES)
  10. $(MLANG)/chapter01/changelog.po: $(LFS_EN)/chapter01/changelog.xml changelogtranslator.py templatetranslator.py
  11. mkdir -pv "$(@D)"
  12. po4a-updatepo -f docbook -m $< -p $@
  13. ./changelogtranslator.py $(MLANG)
  14. $(MLANG)/%.po: $(LFS_EN)/%.xml
  15. mkdir -pv "$(@D)"
  16. po4a-updatepo -f docbook -m $< -p $@
  17. touch $@
  18. MXML_FILES = $(patsubst $(LFS_EN)/%.xml, %.xml, $(XML_FILES))
  19. BOOK_FILES = $(patsubst $(LFS_EN)/%, %, $(shell find $(LFS_EN) -type f -not -path "$(LFS_EN)/.svn/*"))
  20. KEEP_FILES = $(filter-out $(MXML_FILES), KEEP_FILES)
  21. MBOOK_FILES = $(patsubst %, $(MLANG)/book/%, $(BOOK_FILES))
  22. .PHONY: booksrc
  23. booksrc: booksrc_unfixed
  24. [ ! -e $(MLANG)/fix.sh ] || (pushd $(MLANG)/book; sh ../fix.sh; popd)
  25. booksrc_unfixed: $(MBOOK_FILES) $(PATCHES)
  26. $(MLANG)/book/%.xml: $(LFS_EN)/%.xml $(MLANG)/%.po
  27. mkdir -pv "$(@D)"
  28. po4a-translate -f docbook -m $< -p $(filter-out $<, $^) -l $@
  29. [ -e $@ ] || cp -v $< $@
  30. $(MLANG)/book/%: $(LFS_EN)/%
  31. mkdir -pv "$(@D)"
  32. cp -v $< $@
  33. test:
  34. echo $(XML_FILES)