# -*- Makefile -*- for the CLISP binaries
# DO NOT EDIT! GENERATED AUTOMATICALLY!
# This file was created on host brighton.podval.org as the output of the command:
# ./makemake --with-dir-key --with-export-syscalls --with-dynamic-ffi win32gcc gcc

# -------------- Start of configurable section --------------------

PATH=/bin:.

# Directories used by "make install":
prefix = 
exec_prefix = $(prefix)
bindir  = $(exec_prefix)/bin
mandir  = $(exec_prefix)/share/man
htmldir = $(exec_prefix)/share/html
dvidir  = $(exec_prefix)/share/dvi
docdir  = $(exec_prefix)/share/doc
lispdocdir = $(docdir)/clisp
libdir = $(exec_prefix)/lib
lisplibdir = $(libdir)/clisp
# The value of following variable is prepended to all the paths for
# installation. This is useful when preparing a binary distribution.
DESTDIR =

# List of add-on modules:
# queens               the queens function as a separate module
# wildcard             wildcard matching
# regexp               Unix-style regular expression matching and searching
# postgresql           PostgreSQL interface
# clx/mit-clx          classical X11 interface
# If you change this after doing "make", you have to "rm -r full; make".
MODULES =  

# Programs used by "make":
CC = gcc -mno-cygwin
CFLAGS = -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -fomit-frame-pointer -O2 -fexpensive-optimizations -D_WIN32 -DUNICODE -DEXPORT_SYSCALLS -DDIR_KEY -DDYNAMIC_FFI -DNO_GETTEXT
CPP = gcc -E
CLFLAGS =  -x none
LIBS = libsigsegv.a libiconv.a libavcall.a libcallback.a  -luser32 -lwsock32 -lole32 -lm
X_LIBS = 

MAKE = make
CP = cp -p
LN_S = ln -s
MV = mv
CAT = cat
RM = -rm -f
TOUCH = -touch
GREP = grep
AR = ar
RANLIB = ranlib

# Programs used by "make install":
INSTALL = cp -p
INSTALL_PROGRAM = $(INSTALL)
INSTALL_DATA = $(INSTALL)

# Programs used by "make distrib":

# formatter for manual page
ROFF_MAN = groff -Tascii -mandoc # try "groff -Tascii -mandoc" or "nroff -man"
ROFF_DVI = groff -Tdvi -mandoc # try "groff -Tdvi -mandoc"

# -------------- End of configurable section --------------------

#
#                       Requirements for add-on modules
#                       -------------------------------
#
# The general layout of add-on modules is described in ../doc/module.txt.
# The requirements made there (i.e. the existence of a "link.sh" file
# which defines certain variables) make sure that such an add-on module
# can be distributed with CLISP.
#
# If you want an add-on module to be _built_ automatically with CLISP,
# the following additional requirements have to be obeyed.
#
#   1. The module must be located in a subdirectory of clisp's source
#      directory.
#      Examples: clisp/src/ wildcard/
#                clisp/src/ bindings/linuxlibc6/
#
#   2. If the module contains a file called "configure", it is assumed
#      to be a GNU autoconf generated configuration file, and is called
#      with a "--cache-file=..." argument. It should generate platform
#      dependent header files, Makefiles and the like.
#
#   3. The module should contain a Makefile (maybe generated by requirement 2),
#      which defines the following targets:
#
#        clisp-module
#
#           This target builds the file mentioned by the link.sh file.
#           The following makefile variables can be used:
#             CC                 the C compiler used to compile the CLISP source
#             CFLAGS             the C compiler flags
#             INCLUDES           a directory containing CLISP header files
#             LISPBIBL_INCLUDES  if you #include "lispbibl.c", put this onto
#                                the dependency line
#             CLFLAGS            the C compiler flags when linking an executable
#             LIBS               the libraries used when linking an executable
#             RANLIB             the name of the "ranlib" command
#             CLISP              a command which calls the already built
#                                "base" clisp.
#           Typically, you will have rules like this in your Makefile:
#               foo.o : foo.c
#                       $(CC) $(CFLAGS) -I$(INCLUDES) -c foo.c
#               foo.fas : foo.lisp
#                       $(CLISP) -c foo.lisp
#
#        clisp-module-distrib
#
#           This target copies the module into a temporary distribution
#           directory, on the same disk.
#           The following makefile variables can be used:
#             distribdir       the name of temporary distribution directory
#             LN               command to make hard links (works also for
#                              symbolic links)
#           Typically, this target will look like this:
#
#               DISTRIBFILES = <the NEW_FILES mentioned in link.sh> <doc files>
#               clisp-module-distrib : clisp-module force
#                       $(LN) $(DISTRIBFILES) $(distribdir)
#
# If these requirements are obeyed, this Makefile will automatically build
# the add-on module and make it part of the "full" distribution -- all you
# need to do is to add its name to the MODULES definition line above.
#

COMMENT5 = comment5
ANSIDECL = ansidecl
VARBRACE = varbrace
TXT2C = txt2c -I../

DFILES = \
spvw.d \
spvwtabf.d \
spvwtabs.d \
spvwtabo.d \
eval.d \
control.d \
encoding.d \
pathname.d \
stream.d \
socket.d \
io.d \
array.d \
hashtabl.d \
list.d \
package.d \
record.d \
sequence.d \
charstrg.d \
debug.d \
error.d \
misc.d \
time.d \
predtype.d \
symbol.d \
lisparit.d \
i18n.d \
foreign.d \
win32aux.d \
posixmisc.d \
dirkey.d \
lispbibl.d \
fsubr.d \
subr.d \
pseudofun.d \
constsym.d \
constobj.d \
win32.d \
xthread.d \
constpack.d \
avl.d \
sort.d \
subrkw.d \
bytecode.d \
spvw_module.d \
spvw_debug.d \
spvw_alloca.d \
spvw_mmap.d \
spvw_multimap.d \
spvw_singlemap.d \
spvw_page.d \
spvw_heap.d \
spvw_global.d \
spvw_gcstat.d \
spvw_space.d \
spvw_mark.d \
spvw_objsize.d \
spvw_update.d \
spvw_fault.d \
spvw_sigsegv.d \
spvw_sigcld.d \
spvw_sigpipe.d \
spvw_sigint.d \
spvw_sigwinch.d \
spvw_garcol.d \
spvw_genera1.d \
spvw_genera2.d \
spvw_genera3.d \
spvw_allocate.d \
spvw_typealloc.d \
spvw_circ.d \
spvw_walk.d \
spvw_ctype.d \
spvw_language.d \
spvw_memfile.d \
errwin32.d \
aridecl.d \
arilev0.d \
arilev1.d \
intelem.d \
intlog.d \
intplus.d \
intcomp.d \
intbyte.d \
intmal.d \
intdiv.d \
intgcd.d \
int2adic.d \
intsqrt.d \
intprint.d \
intread.d \
rational.d \
sfloat.d \
ffloat.d \
dfloat.d \
lfloat.d \
flo_konv.d \
flo_rest.d \
realelem.d \
realrand.d \
realtran.d \
compelem.d \
comptran.d \
posixmath.d \
arilev1c.d \
arilev1e.d \
arilev1i.d \
genclisph.d \
modules.d \
noreadline.d \
ari80386.d

CFILES = \
spvw.c \
spvwtabf.c \
spvwtabs.c \
spvwtabo.c \
eval.c \
control.c \
encoding.c \
pathname.c \
stream.c \
socket.c \
io.c \
array.c \
hashtabl.c \
list.c \
package.c \
record.c \
sequence.c \
charstrg.c \
debug.c \
error.c \
misc.c \
time.c \
predtype.c \
symbol.c \
lisparit.c \
i18n.c \
foreign.c \
win32aux.c \
posixmisc.c \
dirkey.c \
lispbibl.c \
fsubr.c \
subr.c \
pseudofun.c \
constsym.c \
constobj.c \
win32.c \
xthread.c \
constpack.c \
avl.c \
sort.c \
subrkw.c \
bytecode.c \
spvw_module.c \
spvw_debug.c \
spvw_alloca.c \
spvw_mmap.c \
spvw_multimap.c \
spvw_singlemap.c \
spvw_page.c \
spvw_heap.c \
spvw_global.c \
spvw_gcstat.c \
spvw_space.c \
spvw_mark.c \
spvw_objsize.c \
spvw_update.c \
spvw_fault.c \
spvw_sigsegv.c \
spvw_sigcld.c \
spvw_sigpipe.c \
spvw_sigint.c \
spvw_sigwinch.c \
spvw_garcol.c \
spvw_genera1.c \
spvw_genera2.c \
spvw_genera3.c \
spvw_allocate.c \
spvw_typealloc.c \
spvw_circ.c \
spvw_walk.c \
spvw_ctype.c \
spvw_language.c \
spvw_memfile.c \
errwin32.c \
aridecl.c \
arilev0.c \
arilev1.c \
intelem.c \
intlog.c \
intplus.c \
intcomp.c \
intbyte.c \
intmal.c \
intdiv.c \
intgcd.c \
int2adic.c \
intsqrt.c \
intprint.c \
intread.c \
rational.c \
sfloat.c \
ffloat.c \
dfloat.c \
lfloat.c \
flo_konv.c \
flo_rest.c \
realelem.c \
realrand.c \
realtran.c \
compelem.c \
comptran.c \
posixmath.c \
arilev1c.c \
arilev1e.c \
arilev1i.c \
genclisph.c \
modules.c \
noreadline.c \
ari80386.c

OBJECTS = \
spvw.o \
spvwtabf.o \
spvwtabs.o \
spvwtabo.o \
eval.o \
control.o \
encoding.o \
pathname.o \
stream.o \
socket.o \
io.o \
array.o \
hashtabl.o \
list.o \
package.o \
record.o \
sequence.o \
charstrg.o \
debug.o \
error.o \
misc.o \
time.o \
predtype.o \
symbol.o \
lisparit.o \
i18n.o \
foreign.o \
win32aux.o \
posixmisc.o \
dirkey.o \
ari80386.o

LISPFILES = \
init.lisp \
defseq.lisp \
backquote.lisp \
defmacro.lisp \
macros1.lisp \
macros2.lisp \
defs1.lisp \
timezone.lisp \
places.lisp \
floatprint.lisp \
type.lisp \
defstruct.lisp \
format.lisp \
international.lisp \
savemem.lisp \
trace.lisp \
cmacros.lisp \
compiler.lisp \
defs2.lisp \
loop.lisp \
clos.lisp \
disassem.lisp \
condition.lisp \
loadform.lisp \
threads.lisp \
gstream.lisp \
xcharin.lisp \
keyboard.lisp \
screen.lisp \
beossock.lisp \
runprog.lisp \
query.lisp \
reploop.lisp \
dribble.lisp \
complete.lisp \
pprint.lisp \
describe.lisp \
room.lisp \
edit.lisp \
macros3.lisp \
clhs.lisp \
inspect.lisp \
gray.lisp \
foreign1.lisp \
posix.lisp \
dirkey.lisp \
german.lisp \
french.lisp \
spanish.lisp \
dutch.lisp \
deprecated.lisp \
config.lisp

FASFILES = \
init.fas \
defseq.fas \
backquote.fas \
defmacro.fas \
macros1.fas \
macros2.fas \
defs1.fas \
timezone.fas \
places.fas \
floatprint.fas \
type.fas \
defstruct.fas \
format.fas \
international.fas \
savemem.fas \
trace.fas \
cmacros.fas \
compiler.fas \
defs2.fas \
loop.fas \
clos.fas \
disassem.fas \
condition.fas \
loadform.fas \
threads.fas \
gstream.fas \
xcharin.fas \
keyboard.fas \
screen.fas \
beossock.fas \
runprog.fas \
query.fas \
reploop.fas \
dribble.fas \
complete.fas \
pprint.fas \
describe.fas \
room.fas \
edit.fas \
macros3.fas \
clhs.fas \
inspect.fas \
gray.fas \
foreign1.fas \
posix.fas \
dirkey.fas \
german.fas \
french.fas \
spanish.fas \
dutch.fas \
deprecated.fas \
config.fas

TXTFILES = \
LISP-tutorial.txt \
CLOS-guide.txt \
editors.txt

TESTLISPFILES = \
stage/init.lisp \
stage/defseq.lisp \
stage/backquote.lisp \
stage/defmacro.lisp \
stage/macros1.lisp \
stage/macros2.lisp \
stage/defs1.lisp \
stage/timezone.lisp \
stage/places.lisp \
stage/floatprint.lisp \
stage/type.lisp \
stage/defstruct.lisp \
stage/format.lisp \
stage/international.lisp \
stage/savemem.lisp \
stage/trace.lisp \
stage/cmacros.lisp \
stage/compiler.lisp \
stage/defs2.lisp \
stage/loop.lisp \
stage/clos.lisp \
stage/disassem.lisp \
stage/condition.lisp \
stage/loadform.lisp \
stage/threads.lisp \
stage/gstream.lisp \
stage/xcharin.lisp \
stage/keyboard.lisp \
stage/screen.lisp \
stage/beossock.lisp \
stage/runprog.lisp \
stage/query.lisp \
stage/reploop.lisp \
stage/dribble.lisp \
stage/complete.lisp \
stage/pprint.lisp \
stage/describe.lisp \
stage/room.lisp \
stage/edit.lisp \
stage/macros3.lisp \
stage/clhs.lisp \
stage/inspect.lisp \
stage/gray.lisp \
stage/foreign1.lisp \
stage/posix.lisp \
stage/dirkey.lisp \
stage/german.lisp \
stage/french.lisp \
stage/spanish.lisp \
stage/dutch.lisp \
stage/deprecated.lisp \
stage/config.lisp

TESTFASFILES = \
stage/init.fas \
stage/defseq.fas \
stage/backquote.fas \
stage/defmacro.fas \
stage/macros1.fas \
stage/macros2.fas \
stage/defs1.fas \
stage/timezone.fas \
stage/places.fas \
stage/floatprint.fas \
stage/type.fas \
stage/defstruct.fas \
stage/format.fas \
stage/international.fas \
stage/savemem.fas \
stage/trace.fas \
stage/cmacros.fas \
stage/compiler.fas \
stage/defs2.fas \
stage/loop.fas \
stage/clos.fas \
stage/disassem.fas \
stage/condition.fas \
stage/loadform.fas \
stage/threads.fas \
stage/gstream.fas \
stage/xcharin.fas \
stage/keyboard.fas \
stage/screen.fas \
stage/beossock.fas \
stage/runprog.fas \
stage/query.fas \
stage/reploop.fas \
stage/dribble.fas \
stage/complete.fas \
stage/pprint.fas \
stage/describe.fas \
stage/room.fas \
stage/edit.fas \
stage/macros3.fas \
stage/clhs.fas \
stage/inspect.fas \
stage/gray.fas \
stage/foreign1.fas \
stage/posix.fas \
stage/dirkey.fas \
stage/german.fas \
stage/french.fas \
stage/spanish.fas \
stage/dutch.fas \
stage/deprecated.fas \
stage/config.fas


all : init allc allo lisp.exe interpreted.mem halfcompiled.mem lispinit.mem manual

makemake : makemake.in
	./config.status --file=makemake
	chmod +x makemake

unixconf.h : unixconf.h.in
	./config.status --header=unixconf.h

Makefile : makemake
	./makemake --with-dir-key --with-export-syscalls --with-dynamic-ffi win32gcc gcc > Makefile.tmp
	$(MV) Makefile Makefile~
	$(MV) Makefile.tmp Makefile

init : comment5.exe ansidecl.exe varbrace.exe txt2c.exe ccmp2c.exe modprep.exe $(DFILES) modules.h

comment5.exe : ../utils/comment5.c
	$(CC) $(CFLAGS) $(CLFLAGS) ../utils/comment5.c -o comment5.exe

ansidecl.exe : ../utils/ansidecl.d comment5.exe
	$(LN_S) ../utils/ansidecl.d ansidecl.d
	$(COMMENT5) ansidecl.d ansidecl.c
	$(RM) ansidecl.d
	$(CC) $(CFLAGS) $(CLFLAGS) ansidecl.c -o ansidecl.exe
	$(RM) ansidecl.c

varbrace.exe : ../utils/varbrace.d comment5.exe ansidecl.exe
	$(COMMENT5) ../utils/varbrace.d | $(ANSIDECL) > varbrace.c
	$(CC) $(CFLAGS) $(CLFLAGS) varbrace.c -o varbrace.exe
	$(RM) varbrace.c

txt2c.exe : ../utils/txt2c.c ansidecl.exe
	$(ANSIDECL) < ../utils/txt2c.c > txt2c.c
	$(CC) $(CFLAGS) $(CLFLAGS) txt2c.c -o txt2c.exe
	$(RM) txt2c.c

ccmp2c.exe : ../utils/ccmp2c.d comment5.exe ansidecl.exe
	$(COMMENT5) ../utils/ccmp2c.d | $(ANSIDECL) > ccmp2c.c
	$(CC) $(CFLAGS) $(CLFLAGS) -I. ccmp2c.c -o ccmp2c.exe
	$(RM) ccmp2c.c

modprep.exe : ../utils/modprep.d comment5.exe ansidecl.exe
	$(COMMENT5) ../utils/modprep.d | $(ANSIDECL) > modprep.c
	$(CC) $(CFLAGS) $(CLFLAGS) modprep.c -o modprep.exe
	$(RM) modprep.c


stdbool.h : stdbool.h.in
	-$(LN_S) stdbool.h.in stdbool.h

allc : init $(CFILES)

spvw.c : spvw.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw.d | $(ANSIDECL) | $(VARBRACE) > spvw.c

spvwtabf.c : spvwtabf.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvwtabf.d | $(ANSIDECL) | $(VARBRACE) > spvwtabf.c

spvwtabs.c : spvwtabs.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvwtabs.d | $(ANSIDECL) | $(VARBRACE) > spvwtabs.c

spvwtabo.c : spvwtabo.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvwtabo.d | $(ANSIDECL) | $(VARBRACE) > spvwtabo.c

eval.c : eval.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) eval.d | $(ANSIDECL) | $(VARBRACE) > eval.c

control.c : control.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) control.d | $(ANSIDECL) | $(VARBRACE) > control.c

encoding.c : encoding.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) encoding.d | $(ANSIDECL) | $(VARBRACE) > encoding.c

pathname.c : pathname.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) pathname.d | $(ANSIDECL) | $(VARBRACE) > pathname.c

stream.c : stream.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) stream.d | $(ANSIDECL) | $(VARBRACE) > stream.c

socket.c : socket.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) socket.d | $(ANSIDECL) | $(VARBRACE) > socket.c

io.c : io.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) io.d | $(ANSIDECL) | $(VARBRACE) > io.c

array.c : array.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) array.d | $(ANSIDECL) | $(VARBRACE) > array.c

hashtabl.c : hashtabl.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) hashtabl.d | $(ANSIDECL) | $(VARBRACE) > hashtabl.c

list.c : list.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) list.d | $(ANSIDECL) | $(VARBRACE) > list.c

package.c : package.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) package.d | $(ANSIDECL) | $(VARBRACE) > package.c

record.c : record.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) record.d | $(ANSIDECL) | $(VARBRACE) > record.c

sequence.c : sequence.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) sequence.d | $(ANSIDECL) | $(VARBRACE) > sequence.c

charstrg.c : charstrg.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) charstrg.d | $(ANSIDECL) | $(VARBRACE) > charstrg.c

debug.c : debug.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) debug.d | $(ANSIDECL) | $(VARBRACE) > debug.c

error.c : error.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) error.d | $(ANSIDECL) | $(VARBRACE) > error.c

misc.c : misc.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) misc.d | $(ANSIDECL) | $(VARBRACE) > misc.c

time.c : time.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) time.d | $(ANSIDECL) | $(VARBRACE) > time.c

predtype.c : predtype.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) predtype.d | $(ANSIDECL) | $(VARBRACE) > predtype.c

symbol.c : symbol.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) symbol.d | $(ANSIDECL) | $(VARBRACE) > symbol.c

lisparit.c : lisparit.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) lisparit.d | $(ANSIDECL) | $(VARBRACE) > lisparit.c

i18n.c : i18n.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) i18n.d | $(ANSIDECL) | $(VARBRACE) > i18n.c

foreign.c : foreign.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) foreign.d | $(ANSIDECL) | $(VARBRACE) > foreign.c

win32aux.c : win32aux.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) win32aux.d | $(ANSIDECL) | $(VARBRACE) > win32aux.c

posixmisc.c : posixmisc.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) posixmisc.d | $(ANSIDECL) | $(VARBRACE) > posixmisc.c

dirkey.c : dirkey.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) dirkey.d | $(ANSIDECL) | $(VARBRACE) > dirkey.c

lispbibl.c : lispbibl.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) lispbibl.d | $(ANSIDECL) | $(VARBRACE) > lispbibl.c

fsubr.c : fsubr.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) fsubr.d | $(ANSIDECL) | $(VARBRACE) > fsubr.c

subr.c : subr.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) subr.d | $(ANSIDECL) | $(VARBRACE) > subr.c

pseudofun.c : pseudofun.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) pseudofun.d | $(ANSIDECL) | $(VARBRACE) > pseudofun.c

constsym.c : constsym.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) constsym.d | $(ANSIDECL) | $(VARBRACE) > constsym.c

constobj.c : constobj.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) constobj.d | $(ANSIDECL) | $(VARBRACE) > constobj.c

win32.c : win32.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) win32.d | $(ANSIDECL) | $(VARBRACE) > win32.c

xthread.c : xthread.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) xthread.d | $(ANSIDECL) | $(VARBRACE) > xthread.c

constpack.c : constpack.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) constpack.d | $(ANSIDECL) | $(VARBRACE) > constpack.c

avl.c : avl.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) avl.d | $(ANSIDECL) | $(VARBRACE) > avl.c

sort.c : sort.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) sort.d | $(ANSIDECL) | $(VARBRACE) > sort.c

subrkw.c : subrkw.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) subrkw.d | $(ANSIDECL) | $(VARBRACE) > subrkw.c

bytecode.c : bytecode.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) bytecode.d | $(ANSIDECL) | $(VARBRACE) > bytecode.c

spvw_module.c : spvw_module.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_module.d | $(ANSIDECL) | $(VARBRACE) > spvw_module.c

spvw_debug.c : spvw_debug.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_debug.d | $(ANSIDECL) | $(VARBRACE) > spvw_debug.c

spvw_alloca.c : spvw_alloca.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_alloca.d | $(ANSIDECL) | $(VARBRACE) > spvw_alloca.c

spvw_mmap.c : spvw_mmap.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_mmap.d | $(ANSIDECL) | $(VARBRACE) > spvw_mmap.c

spvw_multimap.c : spvw_multimap.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_multimap.d | $(ANSIDECL) | $(VARBRACE) > spvw_multimap.c

spvw_singlemap.c : spvw_singlemap.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_singlemap.d | $(ANSIDECL) | $(VARBRACE) > spvw_singlemap.c

spvw_page.c : spvw_page.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_page.d | $(ANSIDECL) | $(VARBRACE) > spvw_page.c

spvw_heap.c : spvw_heap.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_heap.d | $(ANSIDECL) | $(VARBRACE) > spvw_heap.c

spvw_global.c : spvw_global.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_global.d | $(ANSIDECL) | $(VARBRACE) > spvw_global.c

spvw_gcstat.c : spvw_gcstat.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_gcstat.d | $(ANSIDECL) | $(VARBRACE) > spvw_gcstat.c

spvw_space.c : spvw_space.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_space.d | $(ANSIDECL) | $(VARBRACE) > spvw_space.c

spvw_mark.c : spvw_mark.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_mark.d | $(ANSIDECL) | $(VARBRACE) > spvw_mark.c

spvw_objsize.c : spvw_objsize.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_objsize.d | $(ANSIDECL) | $(VARBRACE) > spvw_objsize.c

spvw_update.c : spvw_update.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_update.d | $(ANSIDECL) | $(VARBRACE) > spvw_update.c

spvw_fault.c : spvw_fault.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_fault.d | $(ANSIDECL) | $(VARBRACE) > spvw_fault.c

spvw_sigsegv.c : spvw_sigsegv.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_sigsegv.d | $(ANSIDECL) | $(VARBRACE) > spvw_sigsegv.c

spvw_sigcld.c : spvw_sigcld.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_sigcld.d | $(ANSIDECL) | $(VARBRACE) > spvw_sigcld.c

spvw_sigpipe.c : spvw_sigpipe.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_sigpipe.d | $(ANSIDECL) | $(VARBRACE) > spvw_sigpipe.c

spvw_sigint.c : spvw_sigint.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_sigint.d | $(ANSIDECL) | $(VARBRACE) > spvw_sigint.c

spvw_sigwinch.c : spvw_sigwinch.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_sigwinch.d | $(ANSIDECL) | $(VARBRACE) > spvw_sigwinch.c

spvw_garcol.c : spvw_garcol.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_garcol.d | $(ANSIDECL) | $(VARBRACE) > spvw_garcol.c

spvw_genera1.c : spvw_genera1.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_genera1.d | $(ANSIDECL) | $(VARBRACE) > spvw_genera1.c

spvw_genera2.c : spvw_genera2.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_genera2.d | $(ANSIDECL) | $(VARBRACE) > spvw_genera2.c

spvw_genera3.c : spvw_genera3.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_genera3.d | $(ANSIDECL) | $(VARBRACE) > spvw_genera3.c

spvw_allocate.c : spvw_allocate.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_allocate.d | $(ANSIDECL) | $(VARBRACE) > spvw_allocate.c

spvw_typealloc.c : spvw_typealloc.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_typealloc.d | $(ANSIDECL) | $(VARBRACE) > spvw_typealloc.c

spvw_circ.c : spvw_circ.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_circ.d | $(ANSIDECL) | $(VARBRACE) > spvw_circ.c

spvw_walk.c : spvw_walk.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_walk.d | $(ANSIDECL) | $(VARBRACE) > spvw_walk.c

spvw_ctype.c : spvw_ctype.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_ctype.d | $(ANSIDECL) | $(VARBRACE) > spvw_ctype.c

spvw_language.c : spvw_language.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_language.d | $(ANSIDECL) | $(VARBRACE) > spvw_language.c

spvw_memfile.c : spvw_memfile.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_memfile.d | $(ANSIDECL) | $(VARBRACE) > spvw_memfile.c

errwin32.c : errwin32.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) errwin32.d | $(ANSIDECL) | $(VARBRACE) > errwin32.c

aridecl.c : aridecl.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) aridecl.d | $(ANSIDECL) | $(VARBRACE) > aridecl.c

arilev0.c : arilev0.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) arilev0.d | $(ANSIDECL) | $(VARBRACE) > arilev0.c

arilev1.c : arilev1.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) arilev1.d | $(ANSIDECL) | $(VARBRACE) > arilev1.c

intelem.c : intelem.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intelem.d | $(ANSIDECL) | $(VARBRACE) > intelem.c

intlog.c : intlog.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intlog.d | $(ANSIDECL) | $(VARBRACE) > intlog.c

intplus.c : intplus.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intplus.d | $(ANSIDECL) | $(VARBRACE) > intplus.c

intcomp.c : intcomp.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intcomp.d | $(ANSIDECL) | $(VARBRACE) > intcomp.c

intbyte.c : intbyte.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intbyte.d | $(ANSIDECL) | $(VARBRACE) > intbyte.c

intmal.c : intmal.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intmal.d | $(ANSIDECL) | $(VARBRACE) > intmal.c

intdiv.c : intdiv.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intdiv.d | $(ANSIDECL) | $(VARBRACE) > intdiv.c

intgcd.c : intgcd.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intgcd.d | $(ANSIDECL) | $(VARBRACE) > intgcd.c

int2adic.c : int2adic.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) int2adic.d | $(ANSIDECL) | $(VARBRACE) > int2adic.c

intsqrt.c : intsqrt.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intsqrt.d | $(ANSIDECL) | $(VARBRACE) > intsqrt.c

intprint.c : intprint.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intprint.d | $(ANSIDECL) | $(VARBRACE) > intprint.c

intread.c : intread.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intread.d | $(ANSIDECL) | $(VARBRACE) > intread.c

rational.c : rational.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) rational.d | $(ANSIDECL) | $(VARBRACE) > rational.c

sfloat.c : sfloat.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) sfloat.d | $(ANSIDECL) | $(VARBRACE) > sfloat.c

ffloat.c : ffloat.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) ffloat.d | $(ANSIDECL) | $(VARBRACE) > ffloat.c

dfloat.c : dfloat.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) dfloat.d | $(ANSIDECL) | $(VARBRACE) > dfloat.c

lfloat.c : lfloat.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) lfloat.d | $(ANSIDECL) | $(VARBRACE) > lfloat.c

flo_konv.c : flo_konv.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) flo_konv.d | $(ANSIDECL) | $(VARBRACE) > flo_konv.c

flo_rest.c : flo_rest.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) flo_rest.d | $(ANSIDECL) | $(VARBRACE) > flo_rest.c

realelem.c : realelem.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) realelem.d | $(ANSIDECL) | $(VARBRACE) > realelem.c

realrand.c : realrand.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) realrand.d | $(ANSIDECL) | $(VARBRACE) > realrand.c

realtran.c : realtran.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) realtran.d | $(ANSIDECL) | $(VARBRACE) > realtran.c

compelem.c : compelem.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) compelem.d | $(ANSIDECL) | $(VARBRACE) > compelem.c

comptran.c : comptran.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) comptran.d | $(ANSIDECL) | $(VARBRACE) > comptran.c

posixmath.c : posixmath.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) posixmath.d | $(ANSIDECL) | $(VARBRACE) > posixmath.c

arilev1c.c : arilev1c.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) arilev1c.d | $(ANSIDECL) | $(VARBRACE) > arilev1c.c

arilev1e.c : arilev1e.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) arilev1e.d | $(ANSIDECL) | $(VARBRACE) > arilev1e.c

arilev1i.c : arilev1i.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) arilev1i.d | $(ANSIDECL) | $(VARBRACE) > arilev1i.c

genclisph.c : genclisph.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) genclisph.d | $(ANSIDECL) | $(VARBRACE) > genclisph.c

modules.c : modules.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) modules.d | $(ANSIDECL) | $(VARBRACE) > modules.c

noreadline.c : noreadline.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) noreadline.d | $(ANSIDECL) | $(VARBRACE) > noreadline.c

ari80386.c : ari80386.d comment5.exe 
	$(COMMENT5) ari80386.d > ari80386.c

ari80386.s : ari80386.c
	$(CPP) -DASM_UNDERSCORE ari80386.c > ari80386.s

allo : allc spvw.o spvwtabf.o spvwtabs.o spvwtabo.o eval.o control.o encoding.o pathname.o stream.o socket.o io.o array.o hashtabl.o list.o package.o record.o sequence.o charstrg.o debug.o error.o misc.o time.o predtype.o symbol.o lisparit.o i18n.o foreign.o win32aux.o posixmisc.o dirkey.o

alls : allc spvw.s spvwtabf.s spvwtabs.s spvwtabo.s eval.s control.s encoding.s pathname.s stream.s socket.s io.s array.s hashtabl.s list.s package.s record.s sequence.s charstrg.s debug.s error.s misc.s time.s predtype.s symbol.s lisparit.s i18n.s foreign.s win32aux.s posixmisc.s dirkey.s

# Normally not used (just for debugging).
alli : allc spvw.i spvwtabf.i spvwtabs.i spvwtabo.i eval.i control.i encoding.i pathname.i stream.i socket.i io.i array.i hashtabl.i list.i package.i record.i sequence.i charstrg.i debug.i error.i misc.i time.i predtype.i symbol.i lisparit.i i18n.i foreign.i win32aux.i posixmisc.i dirkey.i

spvw.i : spvw.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c constpack.c avl.c spvw_module.c spvw_debug.c spvw_alloca.c spvw_mmap.c spvw_multimap.c spvw_singlemap.c spvw_page.c spvw_heap.c spvw_global.c spvw_gcstat.c spvw_space.c spvw_mark.c spvw_objsize.c spvw_update.c spvw_fault.c spvw_sigsegv.c spvw_sigcld.c spvw_sigpipe.c spvw_sigint.c spvw_sigwinch.c spvw_garcol.c spvw_genera1.c spvw_genera2.c spvw_genera3.c spvw_allocate.c spvw_typealloc.c spvw_circ.c spvw_walk.c spvw_ctype.c spvw_language.c spvw_memfile.c sort.c subrkw.c arilev0.c aridecl.c stdbool.h iconv.h sigsegv.h version.h
	$(CPP) $(CFLAGS) spvw.c > spvw.i

spvw.s : spvw.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c constpack.c avl.c spvw_module.c spvw_debug.c spvw_alloca.c spvw_mmap.c spvw_multimap.c spvw_singlemap.c spvw_page.c spvw_heap.c spvw_global.c spvw_gcstat.c spvw_space.c spvw_mark.c spvw_objsize.c spvw_update.c spvw_fault.c spvw_sigsegv.c spvw_sigcld.c spvw_sigpipe.c spvw_sigint.c spvw_sigwinch.c spvw_garcol.c spvw_genera1.c spvw_genera2.c spvw_genera3.c spvw_allocate.c spvw_typealloc.c spvw_circ.c spvw_walk.c spvw_ctype.c spvw_language.c spvw_memfile.c sort.c subrkw.c arilev0.c aridecl.c stdbool.h iconv.h sigsegv.h version.h
	$(CC) $(CFLAGS) -S spvw.c

spvw.o : spvw.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c constpack.c avl.c spvw_module.c spvw_debug.c spvw_alloca.c spvw_mmap.c spvw_multimap.c spvw_singlemap.c spvw_page.c spvw_heap.c spvw_global.c spvw_gcstat.c spvw_space.c spvw_mark.c spvw_objsize.c spvw_update.c spvw_fault.c spvw_sigsegv.c spvw_sigcld.c spvw_sigpipe.c spvw_sigint.c spvw_sigwinch.c spvw_garcol.c spvw_genera1.c spvw_genera2.c spvw_genera3.c spvw_allocate.c spvw_typealloc.c spvw_circ.c spvw_walk.c spvw_ctype.c spvw_language.c spvw_memfile.c sort.c subrkw.c arilev0.c aridecl.c stdbool.h iconv.h sigsegv.h version.h
	$(CC) $(CFLAGS) -c spvw.c

spvwtabf.i : spvwtabf.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) spvwtabf.c > spvwtabf.i

spvwtabf.s : spvwtabf.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S spvwtabf.c

spvwtabf.o : spvwtabf.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c spvwtabf.c

spvwtabs.i : spvwtabs.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) spvwtabs.c > spvwtabs.i

spvwtabs.s : spvwtabs.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S spvwtabs.c

spvwtabs.o : spvwtabs.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c spvwtabs.c

spvwtabo.i : spvwtabo.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) spvwtabo.c > spvwtabo.i

spvwtabo.s : spvwtabo.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S spvwtabo.c

spvwtabo.o : spvwtabo.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c spvwtabo.c

eval.i : eval.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c bytecode.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) eval.c > eval.i

eval.s : eval.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c bytecode.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S eval.c

eval.o : eval.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c bytecode.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c eval.c

control.i : control.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) control.c > control.i

control.s : control.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S control.c

control.o : control.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c control.c

encoding.i : encoding.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c nls_ascii.c nls_iso8859_1.c nls_iso8859_2.c nls_iso8859_3.c nls_iso8859_4.c nls_iso8859_5.c nls_iso8859_6.c nls_iso8859_7.c nls_iso8859_8.c nls_iso8859_9.c nls_iso8859_10.c nls_iso8859_13.c nls_iso8859_14.c nls_iso8859_15.c nls_iso8859_16.c nls_koi8_r.c nls_koi8_u.c nls_mac_arabic.c nls_mac_centraleurope.c nls_mac_croatian.c nls_mac_cyrillic.c nls_mac_dingbat.c nls_mac_greek.c nls_mac_hebrew.c nls_mac_iceland.c nls_mac_roman.c nls_mac_romania.c nls_mac_symbol.c nls_mac_thai.c nls_mac_turkish.c nls_mac_ukraine.c nls_cp437_ms.c nls_cp437_ibm.c nls_cp737.c nls_cp775.c nls_cp850.c nls_cp852_ms.c nls_cp852_ibm.c nls_cp855.c nls_cp857.c nls_cp860_ms.c nls_cp860_ibm.c nls_cp861_ms.c nls_cp861_ibm.c nls_cp862_ms.c nls_cp862_ibm.c nls_cp863_ms.c nls_cp863_ibm.c nls_cp864_ms.c nls_cp864_ibm.c nls_cp865_ms.c nls_cp865_ibm.c nls_cp866.c nls_cp869_ms.c nls_cp869_ibm.c nls_cp874_ms.c nls_cp874_ibm.c nls_cp1250.c nls_cp1251.c nls_cp1252.c nls_cp1253.c nls_cp1254.c nls_cp1255.c nls_cp1256.c nls_cp1257.c nls_cp1258.c nls_hp_roman8.c nls_nextstep.c nls_jisx0201.c stdbool.h iconv.h sigsegv.h libcharset.h
	$(CPP) $(CFLAGS) encoding.c > encoding.i

encoding.s : encoding.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c nls_ascii.c nls_iso8859_1.c nls_iso8859_2.c nls_iso8859_3.c nls_iso8859_4.c nls_iso8859_5.c nls_iso8859_6.c nls_iso8859_7.c nls_iso8859_8.c nls_iso8859_9.c nls_iso8859_10.c nls_iso8859_13.c nls_iso8859_14.c nls_iso8859_15.c nls_iso8859_16.c nls_koi8_r.c nls_koi8_u.c nls_mac_arabic.c nls_mac_centraleurope.c nls_mac_croatian.c nls_mac_cyrillic.c nls_mac_dingbat.c nls_mac_greek.c nls_mac_hebrew.c nls_mac_iceland.c nls_mac_roman.c nls_mac_romania.c nls_mac_symbol.c nls_mac_thai.c nls_mac_turkish.c nls_mac_ukraine.c nls_cp437_ms.c nls_cp437_ibm.c nls_cp737.c nls_cp775.c nls_cp850.c nls_cp852_ms.c nls_cp852_ibm.c nls_cp855.c nls_cp857.c nls_cp860_ms.c nls_cp860_ibm.c nls_cp861_ms.c nls_cp861_ibm.c nls_cp862_ms.c nls_cp862_ibm.c nls_cp863_ms.c nls_cp863_ibm.c nls_cp864_ms.c nls_cp864_ibm.c nls_cp865_ms.c nls_cp865_ibm.c nls_cp866.c nls_cp869_ms.c nls_cp869_ibm.c nls_cp874_ms.c nls_cp874_ibm.c nls_cp1250.c nls_cp1251.c nls_cp1252.c nls_cp1253.c nls_cp1254.c nls_cp1255.c nls_cp1256.c nls_cp1257.c nls_cp1258.c nls_hp_roman8.c nls_nextstep.c nls_jisx0201.c stdbool.h iconv.h sigsegv.h libcharset.h
	$(CC) $(CFLAGS) -S encoding.c

encoding.o : encoding.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c nls_ascii.c nls_iso8859_1.c nls_iso8859_2.c nls_iso8859_3.c nls_iso8859_4.c nls_iso8859_5.c nls_iso8859_6.c nls_iso8859_7.c nls_iso8859_8.c nls_iso8859_9.c nls_iso8859_10.c nls_iso8859_13.c nls_iso8859_14.c nls_iso8859_15.c nls_iso8859_16.c nls_koi8_r.c nls_koi8_u.c nls_mac_arabic.c nls_mac_centraleurope.c nls_mac_croatian.c nls_mac_cyrillic.c nls_mac_dingbat.c nls_mac_greek.c nls_mac_hebrew.c nls_mac_iceland.c nls_mac_roman.c nls_mac_romania.c nls_mac_symbol.c nls_mac_thai.c nls_mac_turkish.c nls_mac_ukraine.c nls_cp437_ms.c nls_cp437_ibm.c nls_cp737.c nls_cp775.c nls_cp850.c nls_cp852_ms.c nls_cp852_ibm.c nls_cp855.c nls_cp857.c nls_cp860_ms.c nls_cp860_ibm.c nls_cp861_ms.c nls_cp861_ibm.c nls_cp862_ms.c nls_cp862_ibm.c nls_cp863_ms.c nls_cp863_ibm.c nls_cp864_ms.c nls_cp864_ibm.c nls_cp865_ms.c nls_cp865_ibm.c nls_cp866.c nls_cp869_ms.c nls_cp869_ibm.c nls_cp874_ms.c nls_cp874_ibm.c nls_cp1250.c nls_cp1251.c nls_cp1252.c nls_cp1253.c nls_cp1254.c nls_cp1255.c nls_cp1256.c nls_cp1257.c nls_cp1258.c nls_hp_roman8.c nls_nextstep.c nls_jisx0201.c stdbool.h iconv.h sigsegv.h libcharset.h
	$(CC) $(CFLAGS) -c encoding.c

pathname.i : pathname.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) pathname.c > pathname.i

pathname.s : pathname.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S pathname.c

pathname.o : pathname.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c pathname.c

stream.i : stream.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) stream.c > stream.i

stream.s : stream.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S stream.c

stream.o : stream.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c stream.c

socket.i : socket.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) socket.c > socket.i

socket.s : socket.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S socket.c

socket.o : socket.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c socket.c

io.i : io.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) io.c > io.i

io.s : io.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S io.c

io.o : io.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c io.c

array.i : array.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) array.c > array.i

array.s : array.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S array.c

array.o : array.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c array.c

hashtabl.i : hashtabl.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c aridecl.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) hashtabl.c > hashtabl.i

hashtabl.s : hashtabl.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c aridecl.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S hashtabl.c

hashtabl.o : hashtabl.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c aridecl.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c hashtabl.c

list.i : list.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) list.c > list.i

list.s : list.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S list.c

list.o : list.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c list.c

package.i : package.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c constpack.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) package.c > package.i

package.s : package.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c constpack.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S package.c

package.o : package.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c constpack.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c package.c

record.i : record.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) record.c > record.i

record.s : record.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S record.c

record.o : record.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c record.c

sequence.i : sequence.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) sequence.c > sequence.i

sequence.s : sequence.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S sequence.c

sequence.o : sequence.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c sequence.c

charstrg.i : charstrg.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c uni_upcase.c uni_downcase.c uni_attribute.c uninames.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) charstrg.c > charstrg.i

charstrg.s : charstrg.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c uni_upcase.c uni_downcase.c uni_attribute.c uninames.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S charstrg.c

charstrg.o : charstrg.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c uni_upcase.c uni_downcase.c uni_attribute.c uninames.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c charstrg.c

debug.i : debug.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) debug.c > debug.i

debug.s : debug.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S debug.c

debug.o : debug.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c debug.c

error.i : error.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c errwin32.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) error.c > error.i

error.s : error.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c errwin32.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S error.c

error.o : error.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c errwin32.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c error.c

misc.i : misc.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) misc.c > misc.i

misc.s : misc.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S misc.c

misc.o : misc.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c misc.c

time.i : time.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) time.c > time.i

time.s : time.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S time.c

time.o : time.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c time.c

predtype.i : predtype.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c avl.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) predtype.c > predtype.i

predtype.s : predtype.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c avl.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S predtype.c

predtype.o : predtype.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c avl.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c predtype.c

symbol.i : symbol.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) symbol.c > symbol.i

symbol.s : symbol.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S symbol.c

symbol.o : symbol.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c symbol.c

lisparit.i : lisparit.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c aridecl.c arilev0.c arilev1.c intelem.c intlog.c intplus.c intcomp.c intbyte.c intmal.c intdiv.c intgcd.c int2adic.c intsqrt.c intprint.c intread.c rational.c sfloat.c ffloat.c dfloat.c lfloat.c flo_konv.c flo_rest.c realelem.c realrand.c realtran.c compelem.c comptran.c posixmath.c arilev1c.c arilev1e.c arilev1i.c ari80386.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) lisparit.c > lisparit.i

lisparit.s : lisparit.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c aridecl.c arilev0.c arilev1.c intelem.c intlog.c intplus.c intcomp.c intbyte.c intmal.c intdiv.c intgcd.c int2adic.c intsqrt.c intprint.c intread.c rational.c sfloat.c ffloat.c dfloat.c lfloat.c flo_konv.c flo_rest.c realelem.c realrand.c realtran.c compelem.c comptran.c posixmath.c arilev1c.c arilev1e.c arilev1i.c ari80386.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S lisparit.c

lisparit.o : lisparit.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c aridecl.c arilev0.c arilev1.c intelem.c intlog.c intplus.c intcomp.c intbyte.c intmal.c intdiv.c intgcd.c int2adic.c intsqrt.c intprint.c intread.c rational.c sfloat.c ffloat.c dfloat.c lfloat.c flo_konv.c flo_rest.c realelem.c realrand.c realtran.c compelem.c comptran.c posixmath.c arilev1c.c arilev1e.c arilev1i.c ari80386.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c lisparit.c

i18n.i : i18n.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) i18n.c > i18n.i

i18n.s : i18n.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S i18n.c

i18n.o : i18n.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c i18n.c

foreign.i : foreign.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h avcall.h callback.h
	$(CPP) $(CFLAGS) -I../ffcall foreign.c > foreign.i

foreign.s : foreign.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h avcall.h callback.h
	$(CC) $(CFLAGS) -I../ffcall -S foreign.c

foreign.o : foreign.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h avcall.h callback.h
	$(CC) $(CFLAGS) -I../ffcall -c foreign.c

win32aux.i : win32aux.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) win32aux.c > win32aux.i

win32aux.s : win32aux.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S win32aux.c

win32aux.o : win32aux.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c win32aux.c

posixmisc.i : posixmisc.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) posixmisc.c > posixmisc.i

posixmisc.s : posixmisc.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S posixmisc.c

posixmisc.o : posixmisc.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c posixmisc.c

dirkey.i : dirkey.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) dirkey.c > dirkey.i

dirkey.s : dirkey.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S dirkey.c

dirkey.o : dirkey.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c dirkey.c

genclisph.i : genclisph.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) genclisph.c > genclisph.i

genclisph.s : genclisph.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -O0 -S genclisph.c

genclisph.o : genclisph.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -O0 -c genclisph.c

modules.i : modules.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h modules.h
	$(CPP) $(CFLAGS) -DNO_CLISP_H modules.c > modules.i

modules.s : modules.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h modules.h
	$(CC) $(CFLAGS) -DNO_CLISP_H -S modules.c

modules.o : modules.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h modules.h
	$(CC) $(CFLAGS) -DNO_CLISP_H -c modules.c

noreadline.i : noreadline.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) noreadline.c > noreadline.i

noreadline.s : noreadline.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -S noreadline.c

noreadline.o : noreadline.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CC) $(CFLAGS) -c noreadline.c

ari80386.o : ari80386.s
	$(CC) $(CFLAGS) -x assembler -c ari80386.s

avcall.h : ../ffcall/avcall/avcall.h
	-$(LN_S) ../ffcall/avcall/avcall.h avcall.h

libavcall.a : ../ffcall/avcall/libavcall.a
	-$(LN_S) ../ffcall/avcall/libavcall.a libavcall.a

callback.h : ../ffcall/callback/callback.h
	-$(LN_S) ../ffcall/callback/callback.h callback.h

libcallback.a : ../ffcall/callback/libcallback.a
	-$(LN_S) ../ffcall/callback/libcallback.a libcallback.a
	-$(LN_S) ../ffcall/callback/vacall_r.h vacall_r.h
	-$(LN_S) ../ffcall/callback/trampoline_r.h trampoline_r.h

iconv.h : ../libiconv/include/iconv.h
	-$(LN_S) ../libiconv/include/iconv.h iconv.h

libiconv.a : ../libiconv/lib/libiconv.a
	-$(LN_S) ../libiconv/lib/libiconv.a libiconv.a

libcharset.h : ../libiconv/libcharset/include/libcharset.h
	-$(LN_S) ../libiconv/libcharset/include/libcharset.h libcharset.h

sigsegv.h libsigsegv.a :
	-$(LN_S) ../sigsegv/sigsegv.h sigsegv.h
	-$(LN_S) ../sigsegv/libsigsegv.a libsigsegv.a

data : ../utils/unicode/ftp.unicode.org/UnicodeData.txt ../src/clhs.txt
	-$(RM) data/*
	-mkdir data
	cd data && $(LN_S) ../../utils/unicode/ftp.unicode.org/UnicodeData.txt .
	cd data && $(LN_S) ../../src/clhs.txt .

lisp.exe : $(OBJECTS) modules.o libavcall.a libcallback.a    libiconv.a libsigsegv.a data
	$(CC) $(CFLAGS) $(CLFLAGS) $(OBJECTS) modules.o $(LIBS) -o lisp.exe


alllisp : $(LISPFILES)

config.lisp : cfgwin32.lisp
	$(CP) cfgwin32.lisp config.lisp

RUN= lisp.exe -B . -Efile UTF-8 -norc

interpreted.mem : lisp.exe $(LISPFILES)
	-$(RM) interpreted.mem
	$(RUN) -m 750KW -x "(load \"init.lisp\") (sys::%saveinitmem) (exit)"
	$(MV) lispimag.mem interpreted.mem

init.fas : init.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c init.lisp

defseq.fas : defseq.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c defseq.lisp

backquote.fas : backquote.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c backquote.lisp

defmacro.fas : defmacro.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c defmacro.lisp

macros1.fas : macros1.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c macros1.lisp

macros2.fas : macros2.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c macros2.lisp

defs1.fas : defs1.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c defs1.lisp

timezone.fas : timezone.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c timezone.lisp

places.fas : places.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c places.lisp

floatprint.fas : floatprint.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c floatprint.lisp

type.fas : type.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c type.lisp

defstruct.fas : defstruct.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c defstruct.lisp

format.fas : format.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c format.lisp

international.fas : international.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c international.lisp

savemem.fas : savemem.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c savemem.lisp

trace.fas : trace.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c trace.lisp

cmacros.fas : cmacros.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c cmacros.lisp

compiler.fas : compiler.lisp lisp.exe interpreted.mem
	$(RUN) -m 1000KW -M interpreted.mem -q -c compiler.lisp

defs2.fas : defs2.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c defs2.lisp

loop.fas : loop.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c loop.lisp

clos.fas : clos.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c clos.lisp

disassem.fas : disassem.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c disassem.lisp

condition.fas : condition.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c condition.lisp

loadform.fas : loadform.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c loadform.lisp

threads.fas : threads.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c threads.lisp

gstream.fas : gstream.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c gstream.lisp

xcharin.fas : xcharin.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c xcharin.lisp

keyboard.fas : keyboard.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c keyboard.lisp

screen.fas : screen.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c screen.lisp

beossock.fas : beossock.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c beossock.lisp

runprog.fas : runprog.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c runprog.lisp

query.fas : query.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c query.lisp

reploop.fas : reploop.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c reploop.lisp

dribble.fas : dribble.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c dribble.lisp

complete.fas : complete.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c complete.lisp

pprint.fas : pprint.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c pprint.lisp

describe.fas : describe.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c describe.lisp

room.fas : room.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c room.lisp

edit.fas : edit.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c edit.lisp

macros3.fas : macros3.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c macros3.lisp

clhs.fas : clhs.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c clhs.lisp

inspect.fas : inspect.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c inspect.lisp

gray.fas : gray.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c gray.lisp

foreign1.fas : foreign1.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c foreign1.lisp

posix.fas : posix.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c posix.lisp

dirkey.fas : dirkey.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c dirkey.lisp

german.fas : german.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c german.lisp

french.fas : french.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c french.lisp

spanish.fas : spanish.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c spanish.lisp

dutch.fas : dutch.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c dutch.lisp

deprecated.fas : deprecated.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c deprecated.lisp

config.fas : config.lisp lisp.exe halfcompiled.mem
	$(RUN) -m 1000KW -M halfcompiled.mem -q -c config.lisp

halfcompiled.mem : lisp.exe $(LISPFILES) compiler.fas
	-$(RM) halfcompiled.mem
	$(RUN) -m 750KW -x "(load \"init.lisp\") (sys::%saveinitmem) (exit)"
	$(MV) lispimag.mem halfcompiled.mem

lispinit.mem : lisp.exe $(FASFILES)
	-$(RM) lispinit.mem
	$(RUN) -x "(load \"init.fas\") (saveinitmem) (exit)"


# Perform self-tests.
check : test testsuite

# Test: recompile $(LISPFILES) and compare their contents.
test : lispinit.mem stage $(TESTLISPFILES) $(TESTFASFILES)
	comp *.fas stage
	echo The test passed if only GENSYM differences were found.

stage :
	-mkdir stage

stage/init.lisp : init.lisp
	$(LN_S) init.lisp stage

stage/defseq.lisp : defseq.lisp
	$(LN_S) defseq.lisp stage

stage/backquote.lisp : backquote.lisp
	$(LN_S) backquote.lisp stage

stage/defmacro.lisp : defmacro.lisp
	$(LN_S) defmacro.lisp stage

stage/macros1.lisp : macros1.lisp
	$(LN_S) macros1.lisp stage

stage/macros2.lisp : macros2.lisp
	$(LN_S) macros2.lisp stage

stage/defs1.lisp : defs1.lisp
	$(LN_S) defs1.lisp stage

stage/timezone.lisp : timezone.lisp
	$(LN_S) timezone.lisp stage

stage/places.lisp : places.lisp
	$(LN_S) places.lisp stage

stage/floatprint.lisp : floatprint.lisp
	$(LN_S) floatprint.lisp stage

stage/type.lisp : type.lisp
	$(LN_S) type.lisp stage

stage/defstruct.lisp : defstruct.lisp
	$(LN_S) defstruct.lisp stage

stage/format.lisp : format.lisp
	$(LN_S) format.lisp stage

stage/international.lisp : international.lisp
	$(LN_S) international.lisp stage

stage/savemem.lisp : savemem.lisp
	$(LN_S) savemem.lisp stage

stage/trace.lisp : trace.lisp
	$(LN_S) trace.lisp stage

stage/cmacros.lisp : cmacros.lisp
	$(LN_S) cmacros.lisp stage

stage/compiler.lisp : compiler.lisp
	$(LN_S) compiler.lisp stage

stage/defs2.lisp : defs2.lisp
	$(LN_S) defs2.lisp stage

stage/loop.lisp : loop.lisp
	$(LN_S) loop.lisp stage

stage/clos.lisp : clos.lisp
	$(LN_S) clos.lisp stage

stage/disassem.lisp : disassem.lisp
	$(LN_S) disassem.lisp stage

stage/condition.lisp : condition.lisp
	$(LN_S) condition.lisp stage

stage/loadform.lisp : loadform.lisp
	$(LN_S) loadform.lisp stage

stage/threads.lisp : threads.lisp
	$(LN_S) threads.lisp stage

stage/gstream.lisp : gstream.lisp
	$(LN_S) gstream.lisp stage

stage/xcharin.lisp : xcharin.lisp
	$(LN_S) xcharin.lisp stage

stage/keyboard.lisp : keyboard.lisp
	$(LN_S) keyboard.lisp stage

stage/screen.lisp : screen.lisp
	$(LN_S) screen.lisp stage

stage/beossock.lisp : beossock.lisp
	$(LN_S) beossock.lisp stage

stage/runprog.lisp : runprog.lisp
	$(LN_S) runprog.lisp stage

stage/query.lisp : query.lisp
	$(LN_S) query.lisp stage

stage/reploop.lisp : reploop.lisp
	$(LN_S) reploop.lisp stage

stage/dribble.lisp : dribble.lisp
	$(LN_S) dribble.lisp stage

stage/complete.lisp : complete.lisp
	$(LN_S) complete.lisp stage

stage/pprint.lisp : pprint.lisp
	$(LN_S) pprint.lisp stage

stage/describe.lisp : describe.lisp
	$(LN_S) describe.lisp stage

stage/room.lisp : room.lisp
	$(LN_S) room.lisp stage

stage/edit.lisp : edit.lisp
	$(LN_S) edit.lisp stage

stage/macros3.lisp : macros3.lisp
	$(LN_S) macros3.lisp stage

stage/clhs.lisp : clhs.lisp
	$(LN_S) clhs.lisp stage

stage/inspect.lisp : inspect.lisp
	$(LN_S) inspect.lisp stage

stage/gray.lisp : gray.lisp
	$(LN_S) gray.lisp stage

stage/foreign1.lisp : foreign1.lisp
	$(LN_S) foreign1.lisp stage

stage/posix.lisp : posix.lisp
	$(LN_S) posix.lisp stage

stage/dirkey.lisp : dirkey.lisp
	$(LN_S) dirkey.lisp stage

stage/german.lisp : german.lisp
	$(LN_S) german.lisp stage

stage/french.lisp : french.lisp
	$(LN_S) french.lisp stage

stage/spanish.lisp : spanish.lisp
	$(LN_S) spanish.lisp stage

stage/dutch.lisp : dutch.lisp
	$(LN_S) dutch.lisp stage

stage/deprecated.lisp : deprecated.lisp
	$(LN_S) deprecated.lisp stage

stage/config.lisp : config.lisp
	$(LN_S) config.lisp stage

stage/testinit.mem: lispinit.mem
	$(CP) lispinit.mem stage/testinit.mem

stage/init.fas : stage/init.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/init.lisp

stage/defseq.fas : stage/defseq.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/defseq.lisp

stage/backquote.fas : stage/backquote.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/backquote.lisp

stage/defmacro.fas : stage/defmacro.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/defmacro.lisp

stage/macros1.fas : stage/macros1.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/macros1.lisp

stage/macros2.fas : stage/macros2.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/macros2.lisp

stage/defs1.fas : stage/defs1.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/defs1.lisp

stage/timezone.fas : stage/timezone.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/timezone.lisp

stage/places.fas : stage/places.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/places.lisp

stage/floatprint.fas : stage/floatprint.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/floatprint.lisp

stage/type.fas : stage/type.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/type.lisp

stage/defstruct.fas : stage/defstruct.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/defstruct.lisp

stage/format.fas : stage/format.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/format.lisp

stage/international.fas : stage/international.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/international.lisp

stage/savemem.fas : stage/savemem.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/savemem.lisp

stage/trace.fas : stage/trace.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/trace.lisp

stage/cmacros.fas : stage/cmacros.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/cmacros.lisp

stage/compiler.fas : stage/compiler.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/compiler.lisp

stage/defs2.fas : stage/defs2.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/defs2.lisp

stage/loop.fas : stage/loop.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/loop.lisp

stage/clos.fas : stage/clos.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/clos.lisp

stage/disassem.fas : stage/disassem.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/disassem.lisp

stage/condition.fas : stage/condition.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/condition.lisp

stage/loadform.fas : stage/loadform.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/loadform.lisp

stage/threads.fas : stage/threads.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/threads.lisp

stage/gstream.fas : stage/gstream.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/gstream.lisp

stage/xcharin.fas : stage/xcharin.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/xcharin.lisp

stage/keyboard.fas : stage/keyboard.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/keyboard.lisp

stage/screen.fas : stage/screen.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/screen.lisp

stage/beossock.fas : stage/beossock.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/beossock.lisp

stage/runprog.fas : stage/runprog.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/runprog.lisp

stage/query.fas : stage/query.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/query.lisp

stage/reploop.fas : stage/reploop.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/reploop.lisp

stage/dribble.fas : stage/dribble.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/dribble.lisp

stage/complete.fas : stage/complete.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/complete.lisp

stage/pprint.fas : stage/pprint.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/pprint.lisp

stage/describe.fas : stage/describe.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/describe.lisp

stage/room.fas : stage/room.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/room.lisp

stage/edit.fas : stage/edit.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/edit.lisp

stage/macros3.fas : stage/macros3.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/macros3.lisp

stage/clhs.fas : stage/clhs.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/clhs.lisp

stage/inspect.fas : stage/inspect.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/inspect.lisp

stage/gray.fas : stage/gray.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/gray.lisp

stage/foreign1.fas : stage/foreign1.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/foreign1.lisp

stage/posix.fas : stage/posix.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/posix.lisp

stage/dirkey.fas : stage/dirkey.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/dirkey.lisp

stage/german.fas : stage/german.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/german.lisp

stage/french.fas : stage/french.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/french.lisp

stage/spanish.fas : stage/spanish.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/spanish.lisp

stage/dutch.fas : stage/dutch.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/dutch.lisp

stage/deprecated.fas : stage/deprecated.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/deprecated.lisp

stage/config.fas : stage/config.lisp lisp.exe stage/testinit.mem
	$(RUN) -M stage/testinit.mem -q -c stage/config.lisp

lispinit2.mem : lisp.exe $(TESTFASFILES)
	$(RUN) -x "(cd \"stage/\") (load \"init.fas\") (cd \"../\") (sys::%saveinitmem) (exit)"
	-$(RM) lispinit2.mem
	$(MV) lispimag.mem lispinit2.mem


testsuite : suite lisp.exe lispinit.mem
	LISP="`pwd`/lisp.exe -M `pwd`/lispinit.mem -B `pwd` -Efile UTF-8 -norc"; export LISP; cd suite; $(MAKE) LISP="$$LISP"

suite :
	-mkdir suite
	cd suite && $(LN_S) ../../tests/Makefile .
	cd suite && $(LN_S) ../../tests/*.lisp .
	cd suite && $(LN_S) ../../tests/*.tst .


READMES = ANNOUNCE COPYRIGHT GNU-GPL SUMMARY NEWS README README.de README.es
IMPNOTES = impnotes.html impnotes.css clisp.png
MANUALS = clisp.1 clisp.html $(TXTFILES) $(IMPNOTES)

impnotes.html : ../doc/impnotes.html
	$(LN_S) ../doc/impnotes.html impnotes.html

impnotes.css : ../doc/impnotes.css
	$(LN_S) ../doc/impnotes.css impnotes.css

clisp.png : ../doc/clisp.png
	$(LN_S) ../doc/clisp.png clisp.png

manual : $(READMES) $(MANUALS)

manualx : manual clisp.man clisp.dvi

ANNOUNCE : ../ANNOUNCE
	-$(LN_S) ../ANNOUNCE ANNOUNCE

COPYRIGHT : ../COPYRIGHT
	-$(LN_S) ../COPYRIGHT COPYRIGHT

GNU-GPL : ../GNU-GPL
	-$(LN_S) ../GNU-GPL GNU-GPL

SUMMARY : ../SUMMARY
	-$(LN_S) ../SUMMARY SUMMARY

README : _README lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h _README.de _README.en txt2c.exe
	$(TXT2C) < _README > txt.c
	$(CC) $(CFLAGS) $(CLFLAGS) -O0 txt.c -o txt.exe
	txt > README
	$(RM) txt.c
	$(RM) txt.exe

README.de : _README.de lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h txt2c.exe
	$(TXT2C) < _README.de > txt.c
	$(CC) $(CFLAGS) $(CLFLAGS) -O0 txt.c -o txt.exe
	txt > README.de
	$(RM) txt.c
	$(RM) txt.exe

README.es : _README.es lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h txt2c.exe
	$(TXT2C) < _README.es > txt.c
	$(CC) $(CFLAGS) $(CLFLAGS) -O0 txt.c -o txt.exe
	txt > README.es
	$(RM) txt.c
	$(RM) txt.exe

clisp.1 : _clisp.1 lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h txt2c.exe
	$(TXT2C) < _clisp.1 > txt.c
	$(CC) $(CFLAGS) $(CLFLAGS) -O0 txt.c -o txt.exe
	txt > clisp.1
	$(RM) txt.c
	$(RM) txt.exe

clisp.html : _clisp.html lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h txt2c.exe
	$(TXT2C) < _clisp.html > txt.c
	$(CC) $(CFLAGS) $(CLFLAGS) -O0 txt.c -o txt.exe
	txt > clisp.html
	$(RM) txt.c
	$(RM) txt.exe

clisp.dvi : clisp.1
	$(ROFF_DVI) clisp.1 > clisp.dvi

clisp.man : clisp.1
	$(ROFF_MAN) clisp.1 > clisp.man

LISP-tutorial.txt : ../doc/LISP-tutorial.txt
	-$(LN_S) ../doc/LISP-tutorial.txt LISP-tutorial.txt

CLOS-guide.txt : ../doc/CLOS-guide.txt
	-$(LN_S) ../doc/CLOS-guide.txt CLOS-guide.txt

editors.txt : ../doc/editors.txt
	-$(LN_S) ../doc/editors.txt editors.txt


# Distribution, to be executed on a Unix host or using Cygwin.
distrib : force
	nroff -man clisp.1 > clisp.man
	sed -e 's,HREF="CLHSROOT/,HREF="http://www.lisp.org/HyperSpec/,' < clisp.html > clisp.html.new
	mv clisp.html.new clisp.html
	version=`cat VERSION` ; \
	distdir=clisp-$$version ; \
	distfile=clisp-$$version-win32.zip ; \
	mkdir $$distdir ; \
	for f in ANNOUNCE COPYRIGHT GNU-GPL SUMMARY NEWS README README.de README.es ; do \
	  if test -f $$f ; then cp -p $$f $$distdir/$$f ; else cp -p `echo $$f | tr '[A-Z]' '[a-z]'` $$distdir/$$f ; fi ; \
	done ; \
	for f in lisp.exe lispinit.mem install.bat ; do \
	  cp -p $$f $$distdir/$$f ; \
	done ; \
	mkdir $$distdir/data ; \
	cp -p data/UnicodeData.txt $$distdir/data/UnicodeData.txt ; \
	cp -p data/clhs.txt $$distdir/data/clhs.txt ; \
	mkdir $$distdir/doc ; \
	for f in clisp.1 clisp.man clisp.html $(TXTFILES) $(IMPNOTES) ; do \
	  if test -f $$f ; then cp -p $$f $$distdir/doc/$$f ; else cp -p `echo $$f | tr '[A-Z]' '[a-z]'` $$distdir/doc/$$f ; fi ; \
	done ; \
	mkdir $$distdir/emacs; \
	cp -p ../emacs/clisp-coding.el $$distdir/emacs/clisp-coding.el ; \
	cp -p ../emacs/clisp-indent.el $$distdir/emacs/clisp-indent.el ; \
	cp -p ../emacs/clisp-indent.lisp $$distdir/emacs/clisp-indent.lisp ; \
	mkdir $$distdir/src ; \
	cp -p $(LISPFILES) install.lisp $$distdir/src/ ; \
	chmod 755 $$distdir/. $$distdir/*/. ; \
	chmod 644 `find $$distdir -type f -print` ; \
	rm -f $$distfile ; \
	(echo "CLISP version $$version for Win32."; echo ".") | zip -r -9 -z $$distfile $$distdir ; \
	rm -rf $$distdir

# clean0 is harmless: removes only superfluous things: temporary files.
clean0 : force
	-$(RM) core ansidecl.c varbrace.c ccmp2c.c modprep.c genclisph.exe wgenclisph.exe linkkit txt.c txt.exe

# clean1 removes everything that becomes obsolete once lisp.exe is recompiled
# without changing the bytecode format and the tables in
# constobj.d, constpack.d, constsym.d, subr.d, fsubr.d, pseudofun.d.
clean1 : clean0
	-$(RM) lispbibl.h clisp.h *.i *.s *.o *.a lisp.exe clisp-link makevars stage/* suite/*
	-$(RM) libsigsegv.* libiconv.* libavcall.* libcallback.*
	-rmdir stage
	-rmdir suite
	-$(RM) README README.de README.es clisp.1 clisp.man clisp.dvi clisp.html $(IMPNOTES) clisp.c distmakefile $(TXTFILES)

# clean2 removes everything that becomes obsolete once lisp.exe
# is recompiled without changing the bytecode format.
clean2 : clean1
	-$(RM) interpreted.mem halfcompiled.mem lispinit.mem lispinit2.mem

# clean3 removes everything that becomes obsolete once lisp.exe
# is recompiled. It leaves everything generated by "make allc".
clean3 : clean2
	-$(RM) $(FASFILES) *.lib

# clean4 removes everything that becomes obsolete
# when switching to a new version of the C compiler.
# It leaves everything generated by "make init".
clean4 : clean3
	-$(RM) $(CFILES)
	-$(RM) avcall.h
	-$(RM) callback.h vacall_r.h trampoline_r.h
	-$(RM) iconv.h
	-$(RM) sigsegv.h
	-$(RM) stdbool.h

# clean5 even undoes "make init".
clean5 : clean4
	-$(RM) ANNOUNCE COPYRIGHT GNU-GPL SUMMARY
	-$(RM) config.lisp
	-$(RM) comment5.exe ansidecl.exe varbrace.exe ccpaux.exe deema.exe txt2c.exe ccmp2c.exe modprep.exe

# clean6 lets us go back to "makemake > Makefile".
clean6 : clean5
	-$(RM) Makefile

# clean7 lets us go back to the main "configure".
clean7 : clean6
	-$(RM) config.status config.log config.cache intparam.h unixconf.h makemake

# clean8 moreover cleans up the SRCDIR.
clean8 : clean7

# The normal "start over" command:
mostlyclean : clean4

# Clear all files that are built by "make ...":
clean : clean5

# Make "clear for distribution":
distclean : clean7

# Remove everything that can be generated otherwise:
maintainer-clean : clean8


.SUFFIXES:

force:

