makefile 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. pkg := arabluatex
  2. #VERS := $(shell ltxfileinfo -v $(pkg).dtx|sed -e 's/^v//')
  3. VERS := $(shell typeoutfileinfo $(pkg).dtx | egrep -o '\+.*$$' | awk '{ print $$6 }' | sed -e 's/^v//')
  4. TEXMFDIR := $(shell kpsewhich -expand-var='$$TEXMFHOME')
  5. HOMEDIR := $$HOME
  6. CMP = lualatex-dev
  7. SHELL = bash
  8. sty: clean
  9. $(CMP) $(pkg).ins
  10. doc: clean sty
  11. $(CMP) --shell-escape $(pkg).dtx
  12. biber arabluatex
  13. $(CMP) --shell-escape $(pkg).dtx
  14. makeindex -s gind.ist -o $(pkg).ind $(pkg).idx
  15. makeindex -s gglo.ist -o $(pkg).gls $(pkg).glo
  16. $(CMP) --shell-escape $(pkg).dtx
  17. $(CMP) --shell-escape $(pkg).dtx
  18. for i in samples/*.tex; \
  19. do latexmk -outdir=TMP -lualatex -e '$$lualatex=q/$(CMP) %O --shell-escape %S/' $$i; \
  20. done
  21. mv TMP/*.pdf samples/
  22. all: clean sty doc
  23. local: clean sty
  24. if [ ! -d "$(TEXMFDIR)/tex/lualatex/arabluatex" ]; then \
  25. mkdir -p $(TEXMFDIR)/tex/lualatex/arabluatex; \
  26. fi
  27. cp $(pkg)*.{sty,lua} $(TEXMFDIR)/tex/lualatex/arabluatex
  28. if [ ! -d "$(HOMEDIR)/.emacs.d/auctex/style" ]; then \
  29. mkdir -p $(HOMEDIR)/.emacs.d/auctex/style; \
  30. fi
  31. cp $(pkg)*.el $(HOMEDIR)/.emacs.d/auctex/style
  32. inst: doc
  33. if [ ! -d "$(TEXMFDIR)/tex/lualatex/arabluatex" ]; then \
  34. mkdir -p $(TEXMFDIR)/tex/lualatex/arabluatex; \
  35. fi
  36. cp $(pkg)*.{sty,lua} $(TEXMFDIR)/tex/lualatex/arabluatex
  37. if [ ! -d "$(HOMEDIR)/.emacs.d/auctex/style" ]; then \
  38. mkdir -p $(HOMEDIR)/.emacs.d/auctex/style; \
  39. fi
  40. cp $(pkg)*.el $(HOMEDIR)/.emacs.d/auctex/style
  41. if [ ! -d "$(TEXMFDIR)/doc/lualatex/arabluatex" ]; then \
  42. mkdir -p $(TEXMFDIR)/doc/lualatex/arabluatex; \
  43. fi
  44. cp $(pkg).pdf $(TEXMFDIR)/doc/lualatex/arabluatex
  45. cp -r samples/ $(TEXMFDIR)/doc/lualatex/arabluatex
  46. auctex: clean
  47. if [ ! -d "$(HOMEDIR)/.emacs.d/auctex/style" ]; then \
  48. mkdir -p $(HOMEDIR)/.emacs.d/auctex/style; \
  49. fi
  50. cp $(pkg)*.el $(HOMEDIR)/.emacs.d/auctex/style
  51. zip: all
  52. ln -sf . $(pkg)
  53. zip -Drq $(PWD)/$(pkg)-$(VERS).zip $(pkg)/{samples,README.md,$(pkg)*.{pdf,sty,lua,el}}
  54. rm $(pkg)
  55. hal: clean
  56. zip -Drq $(PWD)/$(pkg)-$(VERS).zip *
  57. package: clean all
  58. mkdir -p arabluatex/samples/
  59. cp *.{lua,ins,dtx,md,pdf} makefile README.tex arabluatex/ # .bib is in dtx
  60. cp samples/*.{tex,pdf} arabluatex/samples/
  61. mkdir -p tex/lualatex/arabluatex/
  62. cp *.lua *.sty tex/lualatex/arabluatex/
  63. mkdir -p doc/lualatex/arabluatex/samples
  64. cp *.{pdf,el} doc/lualatex/arabluatex/
  65. cp samples/*.{tex,pdf} doc/lualatex/arabluatex/samples
  66. mkdir -p source/lualatex/arabluatex/
  67. cp *.{ins,dtx,tex,md} makefile source/lualatex/arabluatex/ # .bib is in dtx
  68. zip -r arabluatex.tds.zip tex doc source
  69. tar czf arabluatex-$(VERS).tar.gz arabluatex.tds.zip arabluatex/
  70. clean:
  71. rm -rf $(TEXMFDIR)/{tex,doc}/lualatex/arabluatex/
  72. rm -rf $(HOMEDIR)/.emacs.d/auctex/style/arabluatex*.{el,elc}
  73. rm -rf tex/ doc/ source/ auto/
  74. rm -rf arabluatex/
  75. rm -rf saved/ TMP/ _minted-arabluatex/
  76. find ./samples/ | grep -v "\./samples/$$" | grep -v ".*tex$$" | xargs rm -rf
  77. mkdir saved
  78. cp *.{lua,ins,dtx,tex,el} AUTHORS.md LICENSE makefile saved # .bib is in dtx
  79. rm *.*
  80. cp saved/* .
  81. rm -rf saved/
  82. pandoc README.tex -o README.md && sed -i 's/{#.*}//g' README.md
  83. pandoc README.tex -o about.html
  84. .PHONY: sty doc all local inst auctex zip package clean