Makefile 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. XML_FILES = $(filter-out $(EXCLUDE_FILES), $(ALL_XML_FILES))
  6. PO_FILES = $(patsubst $(LFS_EN)/%.xml, $(MLANG)/%.po, $(XML_FILES))
  7. run: $(PO_FILES)
  8. $(MLANG)/chapter01/changelog.po: $(LFS_EN)/chapter01/changelog.xml changelogtranslator.py templatetranslator.py
  9. mkdir -pv "$(@D)"
  10. po4a-updatepo -f docbook -m $< -p $@
  11. ./changelogtranslator.py $(MLANG)
  12. $(MLANG)/%.po: $(LFS_EN)/%.xml
  13. mkdir -pv "$(@D)"
  14. po4a-updatepo -f docbook -m $< -p $@
  15. touch $@
  16. MXML_FILES = $(patsubst $(LFS_EN)/%.xml, %.xml, $(XML_FILES))
  17. BOOK_FILES = $(patsubst $(LFS_EN)/%, %, $(shell find $(LFS_EN) -type f -not -path "$(LFS_EN)/.svn/*"))
  18. KEEP_FILES = $(filter-out $(MXML_FILES), KEEP_FILES)
  19. MBOOK_FILES = $(patsubst %, $(MLANG)/book/%, $(BOOK_FILES))
  20. .PHONY: booksrc
  21. booksrc: booksrc_unfixed
  22. [ ! -e $(MLANG)/fix.sh ] || (pushd $(MLANG)/book; sh ../fix.sh; popd)
  23. booksrc_unfixed: $(MBOOK_FILES) $(PATCHES)
  24. $(MLANG)/book/%.xml: $(LFS_EN)/%.xml $(MLANG)/%.po
  25. mkdir -pv "$(@D)"
  26. po4a-translate -f docbook -m $< -p $(filter-out $<, $^) -l $@
  27. [ -e $@ ] || cp -v $< $@
  28. relpath=$$(echo $@ | sed 's@$(MLANG)/book/@@'); \
  29. patch_path=$(MLANG)/patches/$${relpath}.patch; \
  30. if [ -e $${patch_path} ]; then \
  31. pushd $(MLANG)/book; patch -Np1 -i ../patches/$${relpath}.patch; popd; \
  32. fi
  33. $(MLANG)/book/%: $(LFS_EN)/%
  34. mkdir -pv "$(@D)"
  35. cp -v $< $@
  36. relpath=$$(echo $@ | sed 's@$(MLANG)/book/@@'); \
  37. patch_path=$(MLANG)/patches/$${relpath}.patch; \
  38. if [ -e $${patch_path} ]; then \
  39. pushd $(MLANG)/book; patch -Np1 -i ../patches/$${relpath}.patch; popd; \
  40. fi
  41. test:
  42. echo $(XML_FILES)