Makefile 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #######################################################################
  2. #
  3. # Makefile to compile all examples and convert them to LaTeX
  4. #
  5. #######################################################################
  6. # Compiler
  7. override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
  8. ifneq ($(findstring darwin,$(OSTYPE)),)
  9. inUnix=1 #darwin
  10. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  11. else
  12. ifeq ($(findstring ;,$(PATH)),)
  13. inUnix=1
  14. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  15. else
  16. SEARCHPATH:=$(subst ;, ,$(PATH))
  17. endif
  18. endif
  19. SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
  20. ifndef FPC
  21. ifdef PP
  22. FPC=$(PP)
  23. endif
  24. endif
  25. ifndef FPC
  26. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  27. ifneq ($(FPCPROG),)
  28. FPCPROG:=$(firstword $(FPCPROG))
  29. FPC:=$(shell $(FPCPROG) -PB)
  30. ifneq ($(findstring Error,$(FPC)),)
  31. override FPC=ppc386
  32. endif
  33. else
  34. override FPC=ppc386
  35. endif
  36. endif
  37. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  38. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  39. # Unit directory
  40. # UNITDIR=/usr/lib/ppc/0.99.0/linuxunits
  41. # Any options you wish to pass.
  42. PPOPTS=
  43. # Script to convert the programs to LaTeX examples which can be included.
  44. PP2TEX=../pp2tex
  45. # Script to collect all examples in 1 file.
  46. MAKETEX=make1tex
  47. #######################################################################
  48. # No need to edit after this line.
  49. #######################################################################
  50. ifdef UNITDIR
  51. PPOPTS:=$(PPOPTS) -Up$(UNITDIR);
  52. endif
  53. .SUFFIXES: .pp .tex
  54. .PHONY: all tex clean
  55. OBJECTS=ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8
  56. # ex9
  57. # ex10 ex11 ex12 ex13 ex14 ex15 ex16 ex17 ex18
  58. TEXOBJECTS=$(addsuffix .tex, $(OBJECTS))
  59. override TEXOBJECTS:=$(TEXOBJECTS) vidutil.tex viddbg.tex
  60. all : $(OBJECTS)
  61. tex : $(TEXOBJECTS)
  62. onetex : tex
  63. $(MAKETEX) $(TEXOBJECTS)
  64. clean :
  65. rm -f *.o *.s $(OBJECTS) $(TEXOBJECTS)
  66. rm -f vidutil.ppu vidutil.o viddbg.ppu viddbg.o Video.log
  67. rm -f *.ow *.sw *.exe *.dll
  68. $(OBJECTS): %: %.pp vidutil.ppu
  69. $(FPC) $(PPOPTS) $*
  70. $(TEXOBJECTS): %.tex: %.pp head.tex foot.tex
  71. $(PP2TEX) $*
  72. vidutil.ppu: vidutil.pp
  73. $(FPC) $(PPOPTS) vidutil.pp