Newer
Older
ouexam / Makefile
  1. ######################################################################
  2. #
  3. # Makefile for ouexam document class.
  4. #
  5. ######################################################################
  6.  
  7. SHELL=/bin/sh
  8.  
  9.  
  10. .PHONY: class doc example install tidy clean
  11.  
  12.  
  13. # files
  14. EXAMPLE1_IMAGES = eg1-1.pdf eg1-2.pdf eg1-3.pdf
  15. EXAMPLE2_IMAGES = eg2-2.pdf eg2-3.pdf eg2-4.pdf eg2-5.pdf
  16.  
  17.  
  18. # Build everything.
  19. all: class doc example
  20.  
  21.  
  22. # Build the class file only.
  23. class: ouexam.cls
  24. ouexam.cls: ouexam.dtx
  25. latex ouexam.ins
  26.  
  27.  
  28. # Build the documentation only.
  29. doc: ouexam.pdf
  30.  
  31. ouexam.pdf: ouexam.dtx $(EXAMPLE1_IMAGES) $(EXAMPLE2_IMAGES)
  32. pdflatex $<
  33. pdflatex $<
  34. pdflatex $<
  35.  
  36. $(EXAMPLE1_IMAGES): example1.pdf
  37. pdfjam --outfile $@ $< `echo $@ | cut -c 5`
  38.  
  39. $(EXAMPLE2_IMAGES): example2.pdf
  40. pdfjam --outfile $@ $< `echo $@ | cut -c 5`
  41.  
  42.  
  43. # Build the example only.
  44. example: example1.pdf example2.pdf
  45.  
  46. example%.pdf: example%.tex example.tex ouexam.cls
  47. pdflatex $<
  48. pdflatex $<
  49.  
  50.  
  51. # Install files in the appropriate locations in the texmf tree rooted at
  52. # $(TEXMFHOME). Either define this as a shell variable or pass it as
  53. # command line argument, e.g., make install TEXMFHOME=/usr/local/texmf.
  54. install: class doc example
  55. mkdir -p $(TEXMFHOME)/tex/latex/ouexam
  56. cp ouexam.cls $(TEXMFHOME)/tex/latex/ouexam
  57. mkdir -p $(TEXMFHOME)/doc/latex/ouexam/example
  58. cp eg*.pdf ouexam.pdf ouexam.dtx ouexam.ins \
  59. HISTORY.md MANIFEST README.md \
  60. $(TEXMFHOME)/doc/latex/ouexam
  61. cp Create*.pdf example*.tex example*.pdf lstlang0.sty \
  62. $(TEXMFHOME)/doc/latex/ouexam/example
  63. texhash
  64.  
  65.  
  66. # Clean up: remove temporary files.
  67. tidy:
  68. rm -f *.tmp *.aux *.out *.log *.glo *.toc *.ps \
  69. $(EXAMPLE1_IMAGES) $(EXAMPLE2_IMAGES)
  70.  
  71. # Clean up: remove everything except the original source.
  72. clean: tidy
  73. rm -f ouexam.pdf eg*.pdf example*.pdf *.cls