1
#######################################################################
3
# Makefile to compile all examples and convert them to LaTeX
5
#######################################################################
9
override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
10
ifneq ($(findstring darwin,$(OSTYPE)),)
12
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
14
ifeq ($(findstring ;,$(PATH)),)
16
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
18
SEARCHPATH:=$(subst ;, ,$(PATH))
21
SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
22
PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
24
PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
26
$(error You need the GNU utils package to use this Makefile)
28
PWD:=$(firstword $(PWD))
32
PWD:=$(firstword $(PWD))
36
ifeq ($(OS),Windows_NT)
44
ifneq ($(findstring cygdrive,$(PATH)),)
60
PATHSEP:=$(subst /,\,/)
66
BASEDIR:=$(subst \,/,$(shell $(PWD)))
68
ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
69
BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
70
BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
71
BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
79
ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
81
ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
85
ECHO:=$(firstword $(ECHO))
88
ECHO:=$(firstword $(ECHO))
93
override DEFAULT_FPCDIR=../..
100
FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
102
FPCPROG:=$(firstword $(FPCPROG))
103
FPC:=$(shell $(FPCPROG) -PB)
104
ifneq ($(findstring Error,$(FPC)),)
111
override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
112
override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
115
# UNITDIR=/usr/lib/ppc/0.99.0/linuxunits
118
# Any options you wish to pass.
121
# Script to convert the programs to LaTeX examples which can be included.
124
# Script to collect all examples in 1 file.
127
#######################################################################
128
# No need to edit after this line.
129
#######################################################################
132
PPOPTS:=$(PPOPTS) -Up$(UNITDIR);
137
.PHONY: all tex clean
139
OBJECTS=ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8
141
# ex10 ex11 ex12 ex13 ex14 ex15 ex16 ex17 ex18
143
TEXOBJECTS=$(addsuffix .tex, $(OBJECTS))
144
override TEXOBJECTS:=$(TEXOBJECTS) vidutil.tex viddbg.tex
151
$(MAKETEX) $(TEXOBJECTS)
154
rm -f *.o *.s $(OBJECTS) $(TEXOBJECTS)
155
rm -f vidutil.ppu vidutil.o viddbg.ppu viddbg.o Video.log
156
rm -f *.ow *.sw *.exe *.dll
158
$(OBJECTS): %: %.pp vidutil.ppu
161
$(TEXOBJECTS): %.tex: %.pp head.tex foot.tex
164
vidutil.ppu: vidutil.pp
165
$(FPC) $(PPOPTS) vidutil.pp